164
Ilma da Consolação Barbosa PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE CONHECIMENTO EM UM PORTAL WEB Dissertação apresentada ao Curso de Pós Graduação em Ciência da Computação do Instituto de Ciências Exatas da Universidade Federal de Minas Gerais, como requisito parcial para a obtenção do grau de Mestre em Ciência da Computação. Belo Horizonte Janeiro de 2004

PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Ilma da Consolação Barbosa

PROSPECÇÃO DE DADOS NO APOIO

À GESTÃO DE CONHECIMENTO

EM UM PORTAL WEB

Dissertação apresentada ao Curso de Pós Graduação em Ciência da Computação do Instituto de Ciências Exatas da Universidade Federal de Minas Gerais, como requisito parcial para a obtenção do grau de Mestre em Ciência da Computação.

Belo Horizonte

Janeiro de 2004

Page 2: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Agradecimentos

A Deus pelo dom sagrado da vida e por ter me presenteado com o convívio entre

pessoas que valorizam o conhecimento como o único tesouro que jamais poderá nos ser

furtado, preceito este que sempre me impulsionou na dedicação aos estudos acadêmicos.

Ao meu orientador e amigo, Prof. José Luis Braga, pela grande dedicação e

incentivo, demonstrando a cada momento a sua verdadeira vocação para o exercício desta

árdua profissão. Principalmente, o agradeço pelo incomensurável apoio, confiança e

generosidade no momento de maior dificuldade pessoal pelo qual passei durante esta

jornada. É fácil ser amigo de mil pessoas nos seus momentos felizes, o difícil e grandioso

é permanecer amigo de uma única pessoa nos seus momentos de angústia e tristeza.

Ao meu único e amado filho, Pedro Henrique, meu “herói da resistência”, que

apesar de, neste último ano, ter enfrentado uma grande enfermidade, lutou com bravura e

conseguiu superá-la, demonstrando a existência da verdadeira bondade Divina. Muito lhe

agradeço pelo seu “coração de melão”, pelo carinho e amor e por aceitar os meus

momentos de ausência, principalmente quando estávamos fisicamente próximos.

Ao meu marido Wender, amigo e companheiro de todas as horas, por ter me

incentivado a iniciar esta jornada, pelo carinho, pela compreensão, pela grande

colaboração e pela paciência, principalmente nos momentos de grande ansiedade.

Aos meus pais e todos os familiares pelos exemplos de fé, união e superação

diante dos problemas da vida. Agradeço, carinhosamente, a todos vocês que me

ajudaram, me apoiaram, sempre acreditaram e torceram por mim. Espero que este

trabalho concretize o sonho daqueles que não tiveram a mesma oportunidade.

A Dedeca, por toda a ajuda, pelo carinho e dedicação com que cuida de todos nós.

A Marisa Mendes de Freitas, do DPI-UFV, e a Renata Viana Moraes Rocha, do

DCC-UFMG, pela compreensão e colaboração em todos os momentos de necessidade.

Aos colegas do mestrado pelos bons momentos de convivência e de estudo em

grupo, comprovando que somente unidos conseguimos superar as dificuldades.

Aos professores do mestrado pelos ensinamentos e incentivo.

A UFV e UFMG pela oportunidade.

A Escola Agrotécnica Federal de Barbacena, principalmente ao Prof. César

Romano Quintão e a Profª. Marisa Attademo Raso Marques, que não mediram esforços

para que este sonho pudesse ter um início de realização.

ii

Page 3: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Abstract

Web Data Mining is an application of datamining techniques to web data recovery

and information generation. It can be considered a promising support technique in

enterprise knowledge management. In that environment, users with common interests and

goals use the internet or even intranets to make knowledge available as collective

knowledge or even collective intelligence.

Aiming at providing support to knowledge management in a web or internet

environment, this work is dedicated to investigating the special area of Web Usage

Mining. Among our established goals is the development of a tool to extract web access

patterns from knowledge portals usage logs.

Knowledge portals can benefit from those patterns by using them for

personalization and cooperativity purposes. This means supporting the ability of

offering the user more information than he actually have asked for, in an intelligent

information extraction dialogue between the system and the user. Usage patterns can also

be used to enhance and refine knowledge contained in behind the scenes ontologies or

thesaurus, used to provide semantic support to the whole process.

A consequence of the results presented in this work is the enhancement of

knowledge management environments, leading to improvements in knowledge

generation, creation, integration and broadcasting.

iii

Page 4: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Resumo

Dentre as possibilidades de aplicação da prospecção de dados, a Prospecção de

Dados da Web pode ser utilizada com o objetivo de gerar informações úteis ao processo

de Gestão de Conhecimento neste ambiente, visto que este processo pode ser aplicado

além do âmbito das organizações, onde uma comunidade de usuários com interesses em

comum usam a Internet como infraestrutura para disponibilizar seu conhecimento,

tornando-o coletivo.

Com a finalidade de proporcionar apoio à Gestão de Conhecimento no ambiente

Web, este trabalho é dedicado ao estudo da Prospecção de Uso da Web e ao

desenvolvimento de uma ferramenta tecnológica destinada à tarefa de geração de padrões

de acesso relativos às consultas realizadas em um portal Web.

Tais padrões são disponibilizados para uso pelo mecanismo de busca do portal

Web, visando-se os benefícios futuros de personalização, como a habilidade de melhor

servir às necessidades dos usuários, apresentando-lhe as informações mais apropriadas a

qualquer momento, a partir da utilização de uma política de ranqueamento que se

beneficie da filtragem colaborativa. Por outro lado, tais padrões são utilizados para a

geração de conhecimento visando a manutenção da ontologia incorporada ao portal.

Assim, ambas as utilizações da ferramenta proposta se destinam a apoiar o processo de

Gestão de Conhecimento no domínio Web através de aprimoramento das tarefas de

criação, integração e disseminação do conhecimento, possibilitando melhorias na

personalização das relações entre o usuário e o portal com o objetivo de proporcionar ao

usuário informações relevantes a partir da investigação de suas estratégias de buscas e de

suas preferências frente aos documentos recuperados pelo mecanismo de busca do portal.

Assim, foram consideradas todas as etapas do processo de Prospecção de Uso da

Web, desde a obtenção e pré-processamento dos dados, passando-se pela fase de

prospecção de dados propriamente dita, até a análise e utilização dos padrões obtidos a

partir dos dados de uso do mecanismo de busca disponível no portal.

iv

Page 5: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Sumário

AGRADECIMENTOS .........................................................................................II

ABSTRACT......................................................................................................... III

RESUMO............................................................................................................. IV

SUMÁRIO ............................................................................................................. V

LISTA DE FIGURAS........................................................................................VII

LISTA DE TABELAS ........................................................................................ IX

1 – INTRODUÇÃO................................................................................................1

2 – CONTEXTUALIZAÇÃO E REVISÃO DA LITERATURA......................3

2.1 – GESTÃO DO CONHECIMENTO .......................................................................3

2.2 – DESCOBERTA DE CONHECIMENTO ...............................................................4

2.2.1 – Pré-processamento e Transformação..................................................5

2.2.1.1 – Definição e Entendimento do Problema .......................................6

2.2.1.2 – Coleta e Extração dos Dados ........................................................6

2.2.1.3 – Organização dos Dados ................................................................6

2.2.1.4 – Engenharia dos Dados ..................................................................7

2.2.2 – Prospecção de Dados ..........................................................................7

2.2.3 – Pós-processamento ..............................................................................7

2.3 – PROSPECÇÃO DE DADOS ..............................................................................7

2.3.1 – Tipos de Repositórios para Prospecção de Dados..............................8

2.3.2 – Tipos de Conhecimentos Descobertos pela Prospecção de Dados ...11

2.3.3 – Aplicações de Prospecção de Dados.................................................14

2.4 – WEB INTELIGENTE .....................................................................................18

2.4.1 – Técnicas de IA para a Web Inteligente..............................................19

2.4.1.1 – Web Semântica............................................................................19

2.4.1.2 – Prospecção de Dados da Web .....................................................21

2.4.1.3 – Interfaces Inteligentes ou Cooperativas......................................38 v

Page 6: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

2.4.1.4 – Agentes Inteligentes....................................................................39

2.4.2 – Aplicações da Web Inteligente...........................................................40

2.4.2.1 – Personalização de Sites da Web ..................................................41

2.4.2.2 – Recomendação............................................................................43

2.4.2.3 – Busca de Informação ..................................................................44

2.5 – TRABALHOS RELACIONADOS.....................................................................44

3 – PROPOSTA DE TRABALHO .....................................................................47

3.1 – ENGENHARIA ONTOLÓGICA.......................................................................47

3.2 – CONHECIMENTO PERSONALIZADO .............................................................49

3.3 – OBJETIVOS.................................................................................................50

3.4 – APLICAÇÃO PRÁTICA.................................................................................52

4 – PROJETO ......................................................................................................87

4.1 – FUNCIONALIDADES E CASOS DE USO .........................................................87

4.2 – PROJETO LÓGICO .......................................................................................93

4.2.1 – Diagrama de Classe UML.................................................................93

4.3 – INTERAÇÕES E RECURSOS TECNOLÓGICOS ................................................94

5 – IMPLEMENTAÇÃO E RESULTADOS.....................................................97

5.1 – PROCESSO DE PROSPECÇÃO DE PADRÕES DE CONSULTAS COOPERATIVAS 97

5.2 – APLICAÇÃO PARA GERAÇÃO DE CONHECIMENTO PARA A MANUTENÇÃO DA

ONTOLOGIA ............................................................................................105

5.3 – APLICAÇÃO DE GERAÇÃO DE CONHECIMENTO PARA O MECANISMO DE

BUSCA ....................................................................................................114

5.4 – RESULTADOS ...........................................................................................116

6 – CONCLUSÕES E TRABALHOS FUTUROS..........................................120

6.1 – CONCLUSÕES ...........................................................................................120

6.2 – TRABALHOS FUTUROS .............................................................................123

7 – BIBLIOGRAFIA .........................................................................................126

APÊNDICE A: ALGORITMOS PARA PROSPECÇÃO DE DADOS........136

ALGORITMOS PARA PROSPECÇÃO DE REGRAS DE ASSOCIAÇÃO........................136

ALGORITMOS PARA PROSPECÇÃO DE PADRÕES SEQÜENCIAIS ..........................150

vi

Page 7: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Lista de Figuras

Figura 2.1: Fluxo Básico do Processo de Descoberta de Conhecimento. ...........................5

Figura 2.2: Representação do Processo de Pré-Processamento...........................................6

Figura 2.3: Categorias de Prospecção de Dados da Web...................................................24

Figura 3.1: Tela principal do Portal SBI-Café..................................................................54

Figura 3.2: Consulta Cooperativa......................................................................................58

Figura 3.3: Mapeamento de Palavras da Consulta para Termos da Ontologia..................59

Figura 3.4: Itens de Conhecimento Associados ao Termo da Ontologia. .........................60

Figura 3.5: Resultado da Expansão da Consulta usando os Termos Selecionados. ..........61

Figura 3.6: Funcionalidades da Ferramenta Proposta. ......................................................63

Figura 3.7: Relacionamentos entre as Tabelas do Log de Busca. .....................................68

Figura 3.8: WAP-mine: Prospecção de Padrões de Acesso em Banco de Dados de

Seqüências de Acesso. ...................................................................................76

Figura 3.9: WAP-tree e WAP-tree Condicional................................................................78

Figura 3.10: Construção da WAP-tree para Seqüências de Acesso Web. .........................79

Figura 3.11: Prospecção de Todos os Padrões Freqüentes em uma WAP-tree.................83

Figura 3.12: Etapas Específicas do Processo Proposto para Apoio à Gestão de

Conhecimento no Portal Web. .....................................................................86

Figura 4.1: Diagrama de Casos de Uso. ............................................................................87

Figura 4.2: Caso de uso “1 - Acessa Arquivos de Log de Buscas”. ..................................88

Figura 4.3: Caso de uso “2 - Faz Pré-processamento”. .....................................................89

Figura 4.4: Caso de uso “3 - Faz Prospecção de Padrões de Consultas Cooperativas”. ...90

Figura 4.5: Caso de uso “4 - Gera Conhecimento para Manutenção da Ontologia”.........91

Figura 4.6: Caso de uso “5 - Gera Conhecimento para Mecanismo de Busca”. ...............92

Figura 4.7: Diagrama de Classes da Ferramenta. ..............................................................93

Figura 4.8: Principais Interações da Ferramenta Proposta. ...............................................94

Figura 5.1: Interface Utilitários. ........................................................................................98

Figura 5.2: Interface para Determinação da Periodicidade. ..............................................98

Figura 5.3: Interface para Determinação de Suporte.........................................................99

Figura 5.4: Interface Principal da Aplicação. ..................................................................100

Figura 5.5: Interface de Simulação da Fase Acessar Log................................................101

vii

Page 8: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Figura 5.6: Interface de Simulação da Fase Limpar Log. ...............................................102

Figura 5.7: Interface de Simulação da Fase Gerar Transações........................................103

Figura 5.8: Interface de Simulação da Fase Descobrir Padrões . ....................................105

Figura 5.9: Interface de Opções de Conhecimento para Manutenção da Ontologia. ......106

Figura 5.10: Interface de Padrões de Acesso para a Manutenção da Ontologia. ............107

Figura 5.11: Interface de Outras Informações para Manutenção da Ontologia...............108

Figura 5.12: Interface das Expansões mais Requisitadas ao Tesauro. ............................109

Figura 5.13: Interface das Expansões mais Acessadas....................................................110

Figura 5.14: Interface das Expansões não Acessadas......................................................111

Figura 5.15: Interface das Expansões sem Respostas......................................................112

Figura 5.16: Interface de Pesquisa dos Documentos Atualmente Retornados. ...............113

Figura 5.17: Interface da Aplicação de Simulação de Busca. .........................................114

Figura 5.18: Interface da Aplicação de Padrões de Expansões Requisitadas à Ontologia...118

Figura A.1: Algoritmo Apriori. .......................................................................................139

Figura A.2: Função GeraCandidato.................................................................................140

viii

Page 9: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Lista de Tabelas

Tabela 3.1: Estrutura da Tabela Acesso. ...........................................................................64

Tabela 3.2: Estrutura da Tabela Consulta..........................................................................65

Tabela 3.3: Estrutura da Tabela Publicação. .....................................................................66

Tabela 3.4: Domínio dos Valores Relacionados ao Campo TipoConsulta da Tabela

Consulta. ........................................................................................................67

Tabela 3.5: Amostra da Tabela Acesso. ............................................................................68

Tabela 3.6: Amostra da Tabela Consulta. .........................................................................69

Tabela 3.7: Seqüências de Acessos de Usuários Individuais. ...........................................74

Tabela 5.1: Resultado da comparação entre os Padrões de Acesso e o Ranqueamento

Atual dos Documentos Retornados pela Biblioteca Virtual do Café. .........119

Tabela A.1: Notação Utilizada na Maioria dos Algoritmos Estudados...........................138

ix

Page 10: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

1 – Introdução

Não é exagero dizer que a WWW (Web World Wide) é o mais excitante impacto

para a sociedade humana nos últimos 10 anos. Ela alterou a maneira de se negociar,

prover e receber educação, gerenciar organizações, etc. O efeito mais direto é a

modificação nas coleções de informações, comunicação e intercâmbios. Hoje a Web se

tornou a maior fonte de informação disponível no planeta, sendo um enorme, explosivo,

dinâmico e na maior parte não-estruturado repositório de dados.

Os usuários da Web querem ter ferramentas de buscas eficientes para encontrar

informações relevantes, facilmente e precisamente. Por isto, os provedores de serviços

da Web querem encontrar uma maneira de prever os comportamentos dos usuários e

obter informações personalizadas para reduzir a carga de tráfego, possibilitando o

projeto de sites diferentes para grupos de usuários diferentes. Da mesma forma, os

analistas do domínio querem ter ferramentas para aprender as necessidades dos

usuários/clientes. Assim, para atender a tais exigências, a prospecção de dados da Web

torna-se um ativo e popular campo de pesquisa [Wang, 2000].

Nesse contexto, surgiu uma nova família de ferramentas, as quais, através da

aplicação de algoritmos mais inteligentes, como os de prospecção de dados, são capazes

de extrair conhecimento útil a partir do acesso dos usuários ao conjunto de páginas de

um site. Tais ferramentas foram classificadas como sendo de prospecção de uso da Web

[Cooley et al., 1997].

Prospecção de dados é o termo que se popularizou para denominar o processo de

descoberta de conhecimento em bases de dados, tratando-se da utilização de ferramentas

computacionais a fim de descobrir informações valiosas e potencialmente úteis [Fayyad

et al., 1996], descritas em forma de padrões, a partir dos volumes de dados que estão

coletados e armazenados pelas organizações. A obtenção desses conhecimentos

implícitos tem sido útil, sobretudo para as empresas de negócios conhecerem melhor

seu público-alvo e tomarem decisões mais acertadas objetivando-se o aumento da

competitividade. No entanto, conforme [Feldens, 1997], a aplicabilidade dos resultados

de pesquisas na área de prospecção de dados é bastante ampla, podendo ser útil em

qualquer área do conhecimento onde seja gerado um certo volume de informação.

A proposta de trabalho consiste em mostrar a aplicabilidade de técnicas de

prospecção de dados em soluções destinadas a apoiar a gestão do conhecimento através 1

Page 11: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

do desenvolvimento de uma ferramenta que utilize estas técnicas no ambiente Web. Esta

ferramenta foi instanciada (implementada) para uso no portal SBICafé, mantido por

uma comunidade científica de pesquisa formada em torno do Consórcio Brasileiro de

Pesquisa e Desenvolvimento do Café (CBP&D-Café). Em um trabalho anterior,

realizado por [Pontes, 2002], o SBICafé incorporou uma ontologia o que resultou em

melhorias significativas no que diz respeito à eficácia das buscas e navegação sobre os

itens de conhecimento disponíveis. Assim, o presente trabalho constitui-se de um

estudo sobre a utilização de prospecção de dados referentes ao uso da Web e a proposta

de uma ferramenta para a extração e processamento de padrões de acesso ao portal

SBICafé, a partir dos registros de logs de acessos dos usuários ao seu mecanismo de

busca, com o objetivo de maximizar a eficiência deste serviço e a manutenção da

ontologia a ele incorporada, servindo assim como apoio ao processo de gestão de

conhecimento associado a este domínio.

O capítulo 2 apresenta uma contextualização e revisão da literatura, focalizando-

se nos fundamentos dos sistemas de Gestão de Conhecimento destinados à descoberta

de conhecimento, sendo expostas todas as fases deste processo, com suas devidas

características, destacando-se a fase de prospecção de dados. Ainda neste capítulo,

apresenta-se um estudo sobre as tendências de direcionamento para a Web Inteligente,

focalizando-se alguns dos componentes de Inteligência Artificial propostos para esta

nova área, sendo detalhados a prospecção de dados da Web e o uso de ontologias. No

decorrer do capítulo, são expostas algumas aplicações práticas relativas aos temas

destacados, finalizando-se com a indicação de projetos relacionados a este trabalho.

O capítulo 3 apresenta a proposta, estrutura e resultados esperados deste

trabalho, iniciando-se pela descrição das carências atuais ligadas à disciplina de

engenharia ontológica, principalmente na fase de manutenção de ontologias, sendo

seguido pela motivação de otimização de buscas na Web, visando-se a obtenção de

conhecimento personalizado. Neste capítulo também são mais especificamente

explicitados os objetivos do trabalho, bem como a proposta de uma aplicação prática

destinada a demonstrar as funcionalidades propostas.

O capítulo 4 apresenta o projeto da solução proposta e o capítulo 5 mostra a

implementação da aplicação prática proposta, apresentando também os resultados

observados a partir da aplicação da técnica de prospecção de dados na obtenção de

padrões de acesso destinados ao apoio à gestão de conhecimento no portal SBIcafé.

O capítulo 6 relata as conclusões, assim como possibilidades de trabalhos

futuros. 2

Page 12: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

2 – Contextualização e Revisão da Literatura

Este capítulo apresenta uma contextualização da área desta dissertação,

definindo a prospecção de dados como uma das etapas da descoberta de conhecimento,

considerada como uma das possibilidades de otimização do processo genérico da gestão

de conhecimento. Com o deslocamento das fontes de conhecimento para a Web, surge a

necessidade de focalizar técnicas e ferramentas apropriadas aos objetivos de uma Web

Inteligente, e assim são detalhados alguns dos componentes desta nova metodologia

mais intimamente ligados ao processo de descoberta de conhecimento no âmbito da

Web. Ao final deste capítulo são apresentados alguns projetos relacionados ao contexto

deste trabalho, assim como suas características e contribuições.

2.1 – Gestão do Conhecimento

Gestão de Conhecimento preocupa-se com a aquisição, manutenção e acesso ao

conhecimento organizacional, sendo um processo cíclico cujos passos podem se resumir

em três atividades: criação, integração e disseminação. Em abordagens tradicionais de

gestão de conhecimento os gerentes coletam e estruturam conteúdos em uma memória

organizacional e então a disseminam, apresentando-se como uma abordagem top-down

em que os trabalhadores são tratados como destinatários passivos de informação. No

entanto, perspectivas inovadoras trazem dois aspectos essenciais: os trabalhadores criam

constantemente novos conhecimentos e o conhecimento é efeito colateral do trabalho

[Fischer & Ostwald, 2001].

Segundo [Becerra-Fernandez, 2001], os sistemas de gestão de conhecimento

podem ser divididos em:

- Sistemas de preservação do conhecimento: preservam e formalizam o

conhecimento de especialistas para que possam ser compartilhados com outros.

- Sistemas de aplicação do conhecimento: extraem e capturam conhecimento

para reuso na solução de novos e recorrentes problemas.

- Repositórios de conhecimento: organizam e distribuem conhecimento, não

sendo destinados à descoberta de novos conhecimentos relacionados ao

conhecimento anteriormente descoberto.

3

Page 13: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

- Sistemas de descoberta de conhecimento: auxiliam na descoberta de novos

conhecimentos através da implementação de algoritmos inteligentes tais como

prospecção de dados.

A proposta da gestão de conhecimento é explorar os recursos intelectuais da

organização para aumentar a produtividade, renovar valores e aumentar a

competitividade, habilitando práticas inovadoras a um nível organizacional

(comunidade) para suportar cooperação e comunicação entre trabalhadores do

conhecimento de um mesmo domínio e entre domínios [Fensel et al., 2001], [Fischer &

Ostwald, 2001]. A elevação da complexidade dos produtos, o deslocamento em direção

à globalização, o aumento do foco no cliente e o aparecimento de organizações virtuais

devido ao impacto da Internet, demandam uma abordagem mais completa e sistemática

para a gestão de conhecimento [Staab et al., 2001].

O incrível crescimento da WWW (World Wide Web) estabeleceu uma

infraestrutura de conhecimento compartilhado e este tem sido identificado como um

fator de produção chave, ao lado do trabalho e do capital. Neste contexto, onde a WWW

é tida como uma das principais fontes de informação para o desenvolvimento dos

processos empresariais, bem como para tarefas individuais, seus usuários necessitam de

técnicas mais eficientes para criação, integração e disseminação do conhecimento

através da Web [Studer et al., 2000].

2.2 – Descoberta de Conhecimento

A descoberta de conhecimento pode ser definida como a extração não trivial de

informações potencialmente úteis, previamente desconhecidas e implícitas em dados

brutos [Fayyad et al., 1996], sendo um processo que se dá de forma iterativa e

interativa, na medida em que as etapas podem ser repetidas tantas vezes quanto seja

necessário, de acordo com a validação do usuário, podendo-se acrescentar novos dados,

integrar novas fontes etc., para atingir diferentes e mais significativos resultados

[Zaïane, 1999a].

O processo de descoberta de conhecimento é composto por uma série de

atividades podendo-se enumerar quatro etapas básicas, as quais, partindo-se dos dados

disponíveis e, normalmente, da definição de um problema, conduzem à descoberta do

conhecimento. O fluxo básico do processo é ilustrado na Figura 2.1.

4

Page 14: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Conhecimento

Transformação

Pós-Processamento

Prospecção de Dados

Pré-Processamento

Dados

Figura 2.1: Fluxo Básico do Processo de Descoberta de Conhecimento.

2.2.1 – Pré-processamento e Transformação

Estas etapas, segundo [Brachman & Anand, 1996], são responsáveis pela maior

parte do tempo total do processo, consumindo entre 50% e 80% deste tempo, e visam

criar representações de conjuntos de dados adequados à aplicação de algoritmos de

prospecção de dados, envolvendo a seleção, amostragem, transformação de

representações etc., envolvendo aspectos como a definição do problema, a coleta e

extração dos dados, organização dos dados e a engenharia dos dados, resultando na

criação de um ou mais conjuntos de dados como pode ser visto na Figura 2.2 [Fayyad et

al., 1996].

5

Page 15: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Base para

Prospecção

Dados

Explorados

Dados

Extraídos

Dados

Brutos

Engenharia

dos Dados

Organização

dos Dados

Coleta e

Extração

dos Dados

Definição e

Entendimento

do Problema

Figura 2.2: Representação do Processo de Pré-Processamento.

Como, normalmente, os algoritmos de prospecção de dados não podem acessar

os dados em seu formato nativo, seja em razão da forma em que são armazenados, seja

pela normalização adotada na modelagem do banco de dados, é necessário a conversão

desses dados em um formato apropriado, podendo-se ainda sumarizar os dados a fim de

se reduzir o número de variáveis sob consideração.

2.2.1.1 – Definição e Entendimento do Problema

Devem ser bem definidos os domínios onde serão realizados as análises e os

objetivos do processo de descoberta de conhecimento, pois a falta de clareza nesta etapa

pode levar a resultados totalmente desprezíveis. Assim, o problema deve ser definido

conjuntamente pelo analista da prospecção e engenheiros do domínio específico.

2.2.1.2 – Coleta e Extração dos Dados

Esta fase é destinada à obtenção de dados relevantes para a solução do problema,

onde devem ser realizadas as atividades de definição dos atributos apropriados e a

extração física dos dados de diversas fontes.

2.2.1.3 – Organização dos Dados

Nesta fase, os atributos adquiridos devem se tornar semanticamente claros para o

analista da prospecção. Além disto, deve-se realizar testes de sanidade nos dados

obtidos, visto o alto risco de ocorrência de erros na fase anterior, podendo-se aplicar

6

Page 16: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

algoritmos de prospecção os dados visando-se observação de dados e/ou resultados

incorretos.

2.2.1.4 – Engenharia dos Dados

Nesta fase, a base estática de dados está pronta para a prospecção, podendo-se

criar várias bases de dados, ou conjuntos de dados, em contraste com a base de

prospecção única criada a partir da fase de coleta e extração de dados. A engenharia dos

dados é necessária nos casos onde se deve explorar o uso de diferentes atributos e

tamanhos de amostras, análise de subconjuntos de dados e existência de diferentes

enfoques na definição do problema.

2.2.2 – Prospecção de Dados

A prospecção de dados pode ser vista como a aplicação de algoritmos de

aprendizagem aos dados pré-processados. A prospecção de dados e a descoberta de

conhecimento em bancos de dados são freqüentemente tratadas como sinônimos, sendo

uma etapa no processo de descoberta de conhecimento [Zaïane, 1999a], que produz um

conjunto de padrões sob um custo computacional aceitável. Devido a sua importância,

esta etapa será discutida detalhadamente na seção 2.3.

2.2.3 – Pós-processamento

Na etapa de pós-processamento são feitas a análise e interpretação dos resultados

obtidos pela aplicação dos algoritmos de prospecção de dados. Nesta etapa, é de suma

importância a presença de um especialista do domínio onde se está aplicando o processo

de descoberta de conhecimento, pois a seguinte questão deve ser respondida: o

conhecimento gerado é útil, válido, relevante e acionável? Se a resposta não for

satisfatória, então poderá ser necessário repetir todo ou parte do processo de descoberta

de conhecimento.

2.3 – Prospecção de Dados

O grande crescimento no volume de dados disponibilizado pelas organizações,

comunidades científicas e pessoas individuais gera uma necessidade urgente de novas

técnicas que possam inteligentemente e automaticamente transformar os dados

processados em informações úteis e conhecimento. Em resposta a tal demanda,

Prospecção de Dados, ou Data Mining, tornou-se uma área de pesquisa com crescente

7

Page 17: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

importância. Prospecção de dados é um processo de extração de informações implícitas,

não previamente conhecidas e potencialmente úteis, a partir de dados que podem estar

contidos em diferentes repositórios [Chen et al., 1996], consistindo de um conjunto de

técnicas usadas em uma abordagem automática para exaustivamente explorar e mostrar

relacionamentos complexos existentes em grandes conjuntos de dados [Moxon, 1996].

A descoberta de conhecimento pode ser aplicada para gerência de informação,

processamento de consultas, tomada de decisão, controle de processo, e muitas outras

aplicações. Dentro do processo de descoberta de conhecimento, a prospecção de dados é

uma etapa que envolve efetivamente as técnicas e algoritmos que produzirão o

conhecimento procurado, sendo considerada o núcleo deste processo.

A prospecção de dados é uma nova metodologia que objetiva a melhoria de

eficiência dos processos de tomada de decisões, sejam elas científicas ou comerciais,

permitindo a exploração e inferência de informação e relacionamentos úteis a partir dos

dados. A grande maioria das ferramentas analíticas tem a capacidade de tratar

sofisticadas perguntas realizadas pelos usuários. No entanto, tais ferramentas são

limitadas em sua habilidade de descobrir padrões complexos e tendências, pois são

dependentes das hipóteses e perguntas feitas pelo usuário, em oposição à metodologia

de prospecção de dados, a qual analisa os dados e formula automaticamente hipóteses

sobre eles, utilizando-se de variados algoritmos para alcançarem os resultados

desejados.

Diferentes esquemas de classificação podem ser usados para categorizar

métodos de prospecção de dados, como o tipo de repositório em que os dados a serem

trabalhados se encontram, o tipo de conhecimento a ser descoberto e os tipos de técnicas

a serem utilizadas. Assim, a prospecção de dados é dependente da aplicação, fazendo

com que aplicações distintas possam requerer diferentes técnicas deste método para

alcançar um grau aceitável de eficiência [Chen et al., 1996].

2.3.1 – Tipos de Repositórios para Prospecção de Dados

Segundo [Zaïane, 1999b], a prospecção de dados deve ser aplicável a qualquer

tipo de repositório de dados. Entretanto, algoritmos e abordagens podem diferir quando

aplicados em diferentes tipos de dados, pois realmente os desafios apresentados pelos

diferentes tipos de dados variam significantemente. Alguns exemplos de repositórios de

dados em que a prospecção de dados tem sido aplicada são:

8

Page 18: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

a) Arquivos Flat: constituem a fonte de dados mais comum para algoritmos de

prospecção de dados, podendo ser definidos como arquivos de dados simples

em formato texto ou binário com uma estrutura que deve ser conhecida pelo

algoritmo de prospecção de dados a ser aplicado. Os dados nestes arquivos

podem ser transações, séries de tempo, métricas científicas etc.

b) Bancos de Dados Relacionais: consistem de um conjunto de tabelas

contendo valores de atributos de entidades ou valores de atributos de

relacionamentos entre entidades. As tabelas são formadas por colunas e

linhas, onde colunas representam atributos e linhas representam tuplas, que

correspondem a um objeto ou a um relacionamento entre objetos e são

identificadas por um conjunto de valores de atributos representando uma

chave única. A linguagem de pesquisa mais comumente utilizada para

bancos de dados relacionais é SQL (Structure Query Language), a qual

permite a recuperação e manipulação dos dados armazenados, bem como o

cálculo de funções de agregação tais como médias, somas, etc. Algoritmos

de prospecção de dados utilizando bancos de dados relacionais podem ser

mais versáteis que aqueles especificamente escritos para consultas a bancos

de dados relacionais. Além da prospecção de dados poder beneficiar-se da

SQL para seleção, transformação e consolidação dos dados, ela pode fazer

mais do que isto, provendo prognóstico, comparação, detecção de

divergências etc.

c) Armazéns de Dados: um armazém de dados, ou Data Warehouse, é um

repositório de dados colecionados de múltiplas fontes (freqüentemente

heterogêneas), possibilitando a análise de diferentes fontes sob a mesma

perspectiva. Em outras palavras, dados de diferentes fontes podem ser

carregados, limpos, transformados e integrados conjuntamente. Para facilitar

o processo de tomada de decisão e visões multidimensionais, os armazéns de

dados são geralmente modelados através de uma estrutura multidimensional,

como por exemplo, uma estrutura de cubo de dados. Um cubo de dados

contém células que armazenam medidas de agregação de alguns valores e

células especiais que armazenam somatórios por dimensão. Cada dimensão

de um cubo de dado contém uma hierarquia de valores de um atributo. Por

causa de sua estrutura, somatórios pré-computados que por eles são mantidos 9

Page 19: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

e os valores hierárquicos de atributos de suas dimensões, cubos de dados são

muito adaptáveis para pesquisas interativas rápidas e análise de dados de

diferentes níveis conceituais, conhecidas como OLAP (On-Line Analitical

Processing).

d) Bancos de Dados de Transações: são conjuntos de registros representando

transações, cada uma com uma marca de tempo, um identificador e um

conjunto de itens. Associados a arquivos de transações podem também estar

dados descritivos para os seus itens. Uma vez que bancos de dados

relacionais não permitem tabelas aninhadas (isto é, um conjunto de valores

como atributos), as transações são geralmente armazenadas em arquivos flat

ou em duas tabelas normalizadas, uma para as transações e a outra para os

itens das transações. Uma análise típica de prospecção de dados em tais

dados é conhecida como análise de cestas de compras ou estudo de regras de

associações entre itens ocorridos juntos ou em seqüência.

e) Bancos de Dados Multimídia: incluem mídias de vídeo, imagens, áudio e

textos, que podem ser armazenado em bancos de dados objeto-relacionais ou

orientados a objetos, ou simplesmente em um sistema de arquivos.

Prospecção de dados de repositórios multimídia pode requerer metodologias

de computação gráfica, interpretação de imagens e processamento de

linguagem natural.

f) Bancos de Dados Espaciais: são bancos de dados que, além dos dados

habituais, armazenam informações geográficas como mapas, e

posicionamento global ou regional, apresentando novos desafios para os

algoritmos de prospecção de dados.

g) Bancos de Dados de Séries de Tempo: contêm dados relacionados com

tempo, tais como dados de estoque ou registros de atividades, tendo

geralmente um fluxo contínuo de novos dados, que algumas vezes têm a

necessidade de uma análise em tempo real.

h) World Wide Web (WWW): é o repositório mais heterogêneo e dinâmico

disponível, tendo seus dados organizados em documentos interconectados, 10

Page 20: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

que podem ser textos, áudio, vídeo, dados brutos e até mesmo, aplicações. A

prospecção de dados da Web tenta apontar as questões relacionadas aos seus

principais componentes: conteúdo, estrutura e uso.

2.3.2 – Tipos de Conhecimentos Descobertos pela Prospecção de Dados

Os tipos de padrões que podem ser descobertos dependem da classe de

prospecção de dados empregada. Existem dois tipos de classes de prospecção de dados:

prospecção de dados descritiva (ou de descoberta de conhecimento), a qual descreve as

propriedades genéricas dos dados existentes, e prospecção de dados preditivas, que tenta

fazer predições baseadas em inferências sobre os dados disponíveis [Zaïane, 1999b].

A predição é o maior objetivo da prospecção de dados, tendo o maior potencial

financeiro e tendo a descrição mais precisa. Problemas de predição são descritos em

termos de objetivos específicos, tais como aqueles relacionados a registros antigos com

respostas conhecidas, que são usados para projetar novos casos. Já a descoberta de

conhecimento é cercada por alguns tópicos relacionados a suporte a decisão. Problemas

de descoberta de conhecimento geralmente descrevem uma etapa anterior a predição,

onde a informação é insuficiente para predição, estando mais próximo ao suporte à

decisão que tomada de decisão e, portanto quando uma aplicação não tem o potencial

para uma solução prevista, a descoberta de conhecimento pode ser o objetivo [Weiss &

Indurkhya, 1998].

Podem ser descritas as funcionalidades de prospecção de dados e a variedade de

conhecimentos que podem ser descobertos [Zaïane, 2000]:

a) Caracterização: é uma sumarização de características genéricas de objetos

em uma classe designada, produzindo o que é conhecido como regras de

caracterização. Os dados relevantes a uma classe específica de usuários são

normalmente recuperados por uma pesquisa feita ao banco de dados e

executada através de um módulo de sumarização para a extração da essência

dos dados em diferentes níveis de abstração. Por exemplo, pode-se querer

caracterizar os clientes de uma locadora de vídeo que regularmente locam

mais de 30 filmes em um ano. Para tal tarefa, com um cubo de dados

contendo o somatório dos dados, operações simples de OLAP (On-Line

Analitical Processing) resolvem o propósito de caracterização dos dados.

11

b) Discriminação: produz as chamadas regras discriminantes e é basicamente a

comparação das características comuns de objetos de duas classes, chamadas

Page 21: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

classe designada e classe contrastante. Por exemplo, pode-se querer

comparar as características comuns dos clientes que alugaram mais de 30

filmes no ano passado com aqueles que alugaram menos que 5 filmes. As

técnicas utilizadas para discriminação são muito similares àquelas usadas

para caracterização de dados com a exceção de que os dados resultantes da

discriminação incluem medidas comparativas.

c) Análise de Associação: é a descoberta das comumente chamadas regras de

associação. Aqui se estuda a freqüência de itens que ocorrem juntos em

bancos de dados de transações, e baseado em um valor limiar, chamado

suporte, identifica os conjuntos de itens freqüentes. Um outro limite,

chamado confiança, que é a probabilidade de um item aparecer em uma

transação quando um outro item aparece, é usado para definir regras de

associação. Análise de associação é geralmente usada em análises de cestas

de compras. Por exemplo, pode ser útil para o gerente de uma locadora de

vídeo saber quais filmes são freqüentemente locados juntos ou se existe um

relacionamento entre a locação de um certo tipo de filme e a compra de

pipocas ou refrigerantes. As regras de associação descobertas são da forma

P→Q [s,c], onde P e Q são conjunções de pares de valores de atributos, e s

(suporte) é a probabilidade que P e Q apareçam juntos em uma transação e c

(confiança) é a probabilidade condicional que Q apareça em uma transação

quando P está presente. Por exemplo, a regra de associação hipotética:

TipoLocacao(X, ”jogo”) ∧ Idade (X, “13-19”) → Compra (X,”pipoca”)

[s=2%, c=55%], indica que 2% das transações consideradas são de clientes

com idade entre 13 e 19 anos que locam um jogo e compram uma pipoca, e

existe uma segurança de 55% que clientes jovens que locam um jogo

também compram pipoca.

d) Classificação: é a organização de dados em dadas classes, sendo também

conhecida como classificação supervisionada, que usa rótulos de classes

conhecidos para ordenar os objetos na coleção de dados. Abordagens de

classificação normalmente usam um conjunto de treinamento onde todos os

objetos já são associados com rótulos de classes conhecidos. O algoritmo de

classificação aprende a partir dos dados de treinamento e constrói um

modelo, que é usado para classificar novos objetos. Por exemplo, após 12

Page 22: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

iniciar uma política de crédito, o gerente de uma locadora de vídeo pode

analisar o comportamento dos clientes tendo em vista seu crédito, e rotular

os clientes de acordo com os clientes que receberam créditos, com três

possíveis rótulos: seguro, arriscado e muito arriscado. A análise de

classificação poderá gerar um modelo a ser usado para aceitar ou rejeitar

futuras requisições de crédito.

e) Prognóstico: existem dois tipos de prognósticos ou predições: pode-se tentar

prever alguns valores de dados indisponíveis ou tendências pendentes, ou

prever um rótulo de classe para algum dado, sendo este último ligado à

classificação. Uma vez que se tem um modelo de classificação construído

com base em um conjunto de treinamento, o rótulo da classe de um objeto

pode ser previsto baseando-se nos valores dos atributos do objeto e nos

valores dos atributos das classes. Prognóstico é, mais freqüentemente,

relacionado a previsões de valores numéricos indisponíveis ou a tendências

de acréscimo/decréscimo de dados relacionados a tempo, sendo a sua idéia

principal, o uso de um grande número de valores anteriores na consideração

de prováveis valores futuros.

f) Agrupamento: similar à classificação, agrupamento é a organização de dados

em classes. Entretanto, diferentemente de classificação, em agrupamento, os

rótulos das classes não são conhecidos e algoritmos de agrupamento tentam

descobrir classes aceitáveis. Agrupamento é chamado também de

classificação não supervisionada, porque a classificação não é estabelecida

por rótulos de classes dados. Existem diversas abordagens de agrupamento,

todas baseadas no princípio de maximização da similaridade entre os objetos

de uma mesma classe (similaridade intraclasse) e minimização da

similaridade entre objetos de classes diferentes (similaridade interclasses).

g) Análise de Exceções: exceções são objetos que não podem ser agrupados em

uma dada classe ou agrupamento, e, freqüentemente, é importante que sejam

identificadas, pois se por um lado elas possam ser consideradas ruídos e

descartadas em algumas aplicações, por outro elas podem revelar

conhecimento relevante em outros domínios, e assim, podem ser muito

significantes e sua análise valiosa. 13

Page 23: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

h) Análise de séries temporais: pertencem ao estudo de dados relacionados ao

tempo e que sofrem mudanças com este, podendo ser classificada em análise

de evolução e divergência. Análise de evolução modela tendências

evolutivas em dados, podendo ser utilizadas em tarefas de caracterização,

discriminação, classificação ou agrupamento de dados relacionados a tempo.

Análise de divergência, por outro lado, considera as diferenças entre valores

medidos e valores esperados, e tentam encontrar a causa das divergências

entre estes valores.

É comum que os usuários não tenham uma idéia clara dos tipos de padrões que

eles podem descobrir ou precisam descobrir em seus dados. Por esta razão, é importante

ter sistemas de prospecção de dados versáteis e inclusivos, que permitam a descoberta

de diferentes tipos de conhecimento em diferentes níveis de abstração, tornando a

interatividade um importante atributo em tais sistemas [Zaïane, 1999b].

2.3.3 – Aplicações de Prospecção de Dados

Prospecção de dados pode ser descrita como uma tecnologia de comércio

inteligente que utiliza várias técnicas para compreensível extração de informações úteis,

identificando tendências, padrões ou regras implícitas em vastas quantidades de dados,

tornando os indivíduos capazes de criar novas oportunidades ou valores para suas

organizações. Os exemplos seguintes mostram aplicações práticas de prospecção de

dados e o valor que ela provê para aqueles que usam esta tecnologia, tanto em

aplicações comerciais quanto científicas:

- Detecção de fraude: na indústria de serviços financeiros tem-se utilizado uma

técnica sofisticada de prospecção de dados, chamada rede neural, para a

detecção de transações potencialmente fraudulentas no uso de cartões de

crédito, a partir da análise da transação e de todos os seus elementos de

dados, baseando-se no conhecimento de casos de fraudes, levando a um

resultado de predição. Pelo motivo da predição poder estar correta ou não, é

necessário que o sistema aprenda vários padrões e características de

transações para refinar sua capacidade de predição, diminuindo assim as

transações fraudulentas.

14

Page 24: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

- Localização de mercadorias: a incorporação de técnicas de prospecção de

dados no varejo melhora as localizações das mercadorias, reduzindo o custo

de manipulação, capacitando o varejista a identificar as características de

seus clientes, tais como gênero, número de crianças etc. e os produtos que

eles compram, o que é extremamente importante para a localização das

mercadorias onde elas provavelmente serão compradas.

- Contratos: Algumas empresas utilizam técnicas de prospecção de dados para

detectar as características de seus melhores empregados, tais como

escolaridade, tempo de experiência, habilidades, personalidade etc., para

serem utilizadas como requisitos para os próximos empregados a serem

contratados. Como o perfil é baseado apenas em dados históricos, estes

dados podem não ser indicados para caracterizar os melhores empregados no

futuro por motivo de eventuais mudanças nas condições sociais, econômicas

e ambientais das empresas.

- Análise de defeitos: O controle de qualidade é um fator crítico para qualquer

fábrica e com o uso de técnicas de prospecção de dados, os fabricantes são

capazes de identificar as características que levam a produtos defeituosos,

tais como dia da semana e hora da fabricação, componentes que estão sendo

usados e trabalhos individuais na linha de montagem, podendo-se assim

fazer mudanças no processo de fabricação para melhorar a qualidade dos

produtos fabricados.

- Engenharia Biomédica: coleções de dados em grandes escalas têm emergido

de diferentes fontes de dados, como por exemplo, das seqüências de DNA.

Tais dados da área biológica tendem a ser combinados com dados da

medicina para o entendimento da causas das doenças e melhorar a eficiência

dos tratamentos. O maior desafio de prospecção de dados em biomedicina é

a organização de dados moleculares e celulares e dados clínicos permitindo

que estes sejam integrados para a extração de conhecimento [Han et al.,

2002].

- Telecomunicações: a utilização de prospecção de dados prospera em

telecomunicações devido a disponibilização de vastas quantidades de dados 15

Page 25: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

de alta qualidade. Um fluxo significante é o registro de chamadas usado

principalmente para fins de faturamento, mas que também habilita a

utilização de prospecção de dados para a detecção de fraudes e propagandas

[Han et al., 2002].

- Dados Geoespaciais: o alcance, cobertura e volume de conjuntos de dados

geográficos digitais têm crescido rapidamente nos últimos anos devido ao

progresso das tecnologias empregadas na coleta e processamento dos dados

desta área, tornando necessário o estudo de prospecção de dados

geoespaciais para a descoberta de novos e não esperados padrões, tendências

e relacionamentos entre estes dados [Han et al., 2002].

- Dados Climáticos e de Ecossistemas da Terra: a grande coleção de dados

climáticos provenientes de observações de satélites, observações territoriais e

modelos de ecossistemas oferecem uma oportunidade para a previsão e

prevenção de futuros problemas ecológicos através do gerenciamento da

ecologia da Terra. Devido à natureza e quantidade desses dados, técnicas de

prospecção de dados podem ser empregadas na extração automática e análise

de padrões interessantes, complementando as técnicas estatísticas existentes

[Han et al., 2002].

Existem muitas outras aplicações em que prospecção de dados é útil para prover

o conhecimento sobre os padrões ou eventos que podemos não conhecer, e como a

tecnologia de armazenamento de dados avança e os sistemas de informação continuam

coletando e processando dados, um tesouro está sendo acumulado, esperando para ser

descoberto. Os problemas onde prospecção de dados pode ser utilizada não são

limitados ao estudo de informações demográficas de usuários, pelo contrário, seu limite

de atuação vai desde perseguição de criminosos (o FBI já usou técnicas de prospecção

de dados) até análise de crédito (bancos e companhias de cartões de crédito usam

modelos baseados em prospecção de dados para ajudá-los a encontrar bons aplicadores).

Além disto, o campo médico está igualmente considerando prospecção de dados como

uma ferramenta viável para auxiliar nos diagnósticos dos pacientes [Wu, 2002].

16

Page 26: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Podem ser mencionados alguns exemplos onde foram utilizadas técnicas de

prospecção de dados, pois embora recente esta metodologia tem aplicações com

conhecidos sucessos, tais como:

a) Wal-Mart: a cadeia americana Wal-Mart identificou um hábito curioso entre

seus consumidores. Após cinco anos procurando eventuais relações entre o

volume de vendas e os dias da semana, o sistema de prospecção de dados

apontou que, às sextas-feiras, as vendas de cervejas cresciam na mesma

proporção que as de fraldas. Crianças bebendo cerveja? Não, uma

investigação mais detalhada revelou que, ao comprar fraldas para seus bebês,

os pais aproveitavam para abastecer o estoque de cerveja para o final de

semana [Stedman, 1997].

b) ShopKo: esta empresa concorrente da Wal-Mart para reconhecer padrões de

consumo em suas lojas. Descobriu que a venda de certos produtos era

decorrente da venda indireta de outros produtos. A ShopKo resistiu à

agressiva entrada da Wall-Mart em 90% dos mercados [Tucker, 1996].

c) Cassino Harrah's: o The Street Journal relatou que este cassino em Las

Vegas, utilizando a prospecção de dados sobre informações de seus 16

milhões de clientes, descobriu que os apostadores que gastavam entre 100 e

500 dólares em uma visita ao cassino correspondiam a apenas 30% de toda a

sua clientela, mas contribuíam com 80% das receitas. Com estratégias

agressivas de marketing, tais como o oferecimento de almoços, shows e

apostas grátis, o cassino afirma ter dobrado seu faturamento em relação ao

ano anterior [Wasserman, 2000].

d) Spring: uma das empresas líderes no mercado americano de telefonia de

longa distância, desenvolveu um método capaz de prever com 61% de

segurança se um consumidor trocaria de companhia telefônica dentro de um

período de dois meses. Com um marketing agressivo, conseguiu evitar a

deserção de 120.000 clientes e uma perda de US$ 35 milhões no faturamento

[Gurovitz, 1997].

e) Serviço Postal Americano: este serviço passou a utilizar códigos de barras

bidimensionais em suas encomendas. Além das informações operacionais 17

Page 27: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

para transporte e entrega das mercadorias, armazenavam informações sobre

o produto enviado, o remetente e o destinatário. Através da coleta desses

dados, o serviço postal teve a possibilidade de agrupar por bairros, já que a

lei americana é rigorosa com relação à invasão de privacidade, informações e

hábitos de consumo [Doug, 1997].

f) Banco Itaú: armazenando e analisando a movimentação financeira de seus 3

milhões de correntistas nos últimos 18 meses, o Banco Itaú conseguiu

aumentar sua taxa de retorno positivo dos clientes quando recebiam malas

diretas de 2% para 30%, diminuindo substancialmente seu antigo gasto com

correio em 80% [Doug, 1997].

2.4 – Web Inteligente

A Web é uma coleção de documentos distribuídos, inter-relacionados,

estruturados, semi-estruturados e não-estruturados, contendo textos, imagens e sons

[Yao et al., 2001]. É previsto que a maior parte do conhecimento humano esteja na Web

em 10 anos [Garofalakis et al., 1999]. Entretanto, ter uma grande quantidade de

conhecimento disponível não é garantia de que os usuários encontrarão o que desejam

em tempo razoável, o que é conhecido como “sobrecarga de informações”. Assim, fica

evidente a necessidade de mecanismos que auxiliem os usuários nos processos de busca

de conhecimento, sendo que estes mecanismos devem ser inteligentes, pois não há

pessoas representando as organizações na Web, somente computadores [Spiliopoulou &

Pohle, 2001]. Focalizando este objetivo, surgiu a área de Web Inteligente, que é um

novo campo de pesquisa que explora a Inteligência Artificial (IA) e a Tecnologia de

Informação avançada para o desenvolvimento de sistemas inteligentes para a Web

[Zhong et al., 2000]. Tais sistemas devem realizar funções relacionadas à inteligência

humana (raciocínio, aprendizado e auto-aprimoramento), podendo a Web Inteligente ser

vista como uma aplicação de IA à Web [Yao et al., 2001].

Nesta seção, serão apresentadas algumas técnicas de IA a serem aplicadas na

Web Inteligente, focalizando-se nos processos relacionados à descoberta de

conhecimento. Assim, dentre as técnicas de IA que, segundo [Loh & Garin, 2001]

visam este objetivo, serão explicitadas a Web Semântica, Prospecção de Dados da Web,

Interfaces Inteligentes ou Cooperativas e Agentes Inteligentes. Além disto, serão

18

Page 28: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

discutidas três aplicações da Web Inteligente: personalização, recomendação e busca de

informação.

2.4.1 – Técnicas de IA para a Web Inteligente

2.4.1.1 – Web Semântica

A migração da comunicação e comércio para a Web está alterando o fluxo de

informação no mundo [Kleinberg & Lawrence, 2001], porém o crescimento de

informações disponíveis tem tornado o acesso a informações úteis e necessárias cada

vez mais difícil. As máquinas de busca na Web geralmente tratam as requisições de

forma isolada, fazendo com que uma dada consulta proporcione resultados idênticos,

independentes do usuário ou do contexto em que a requisição foi realizada.

O acesso dirigido à busca de conhecimento tem um papel de grande importância

na gestão de conhecimento e incentiva o direcionamento para a Web Semântica [Kietz

et al., 2000], [Lawrence, 2000], que em oposição a Web que conhecemos hoje,

habilitará as máquinas a estruturar, navegar, integrar e processar informação de uma

maneira significante, focalizando na recuperação de conhecimento de forma mais

concisa [Studer et al., 2000] a partir de métodos que além de facilitar a formulação de

consultas também exploram o domínio semântico da mesma, permitindo aos usuários a

recuperação semântica de dados da Web [Chiang et al., 2001].

Assim, a Web semântica provê estruturação e acesso inteligente a informações

distribuídas e heterogêneas, permitindo que produtos de software (destinados a

processamento semântico) sejam intermediários entre as necessidades dos usuários e as

fontes de informações disponíveis [Fensel, 2000].

Ontologias

A Web semântica visa criar uma Web em que tanto os humanos quanto

máquinas possam tratar as informações nela existentes. Isto com certeza requer que as

informações sejam representadas de tal forma que seu significado (ou “semântica”) seja

processável por máquinas. Se pessoas e computadores - e computadores e computadores

– precisam comunicar, compartilhar e reusar conhecimento de igual maneira,

precisamos de algum vocabulário em comum e especificações mais exatas para

descrever o que queremos dizer. Aqui é onde a ontologia entra na ciência dos dias

modernos.

19

A chave para o processamento automático de dados na Web semântica é provida

pelas estruturas conceituais que definem uma ontologia [Harmelen, 2000], [Maedche &

Page 29: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Staab, 2001], e por isto o conceito “ontologia” tem ganhado grande popularidade e

importância na comunidade de gestão de conhecimento.

Entretanto, o significado de ontologia tende a permanecer um pouco vago, pois o

termo é usado em diversas formas diferentes [Guarino & Giareta, 1995]. Mas a

definição que, em nossa opinião, melhor caracteriza a essência de uma ontologia é:

“Uma ontologia é uma representação formal e explícita de uma conceitualização

compartilhada” [Gruber, 1993]. Neste contexto, uma “conceitualização” refere-se a um

modelo abstrato de algum fenômeno no mundo (domínio), que identifica os conceitos

relevantes deste fenômeno, referindo-se a um modelo abstrato de como as pessoas

pensam sobre as coisas no mundo, geralmente restringindo-se a um tema de uma área

particular. “Explícito” significa que os tipos de conceitos usados e as restrições sobre o

seu uso são explicitamente definidos, especificando-se os termos e definições dos

conceitos e relacionamentos do modelo abstrato. “Formal” se refere ao fato da

ontologia ser processável por máquinas. “Compartilhado” se refere à noção de que uma

ontologia captura conhecimento consensual, isto é, ela não é restrita a um indivíduo,

mas aceita por um grupo [Benjamins & Martin, 2000], [Fensel et al., 2001], [Studer et

al., 2000].

A razão pela qual as ontologias estão se tornando tão populares se deve em

grande parte ao que elas prometem: um comum e compartilhado entendimento de um

domínio que pode ser comunicado entre pessoas e sistemas computacionais

heterogêneos e distribuídos [Fensel et al., 2001].

Uma maneira de formalmente representar conhecimento é baseada em uma

conceitualização, e por isto, basicamente o papel de uma ontologia no processo de

gestão de conhecimento é facilitar a construção de um modelo de um domínio,

fornecendo um vocabulário de termos e relações com os quais se pode modelar este

domínio. Ontologias servem como esquemas de metadados, provendo um vocabulário

controlado de conceitos, cada qual explicitamente definido e semanticamente

processável por máquina. Na prática, ontologias abstraem a essência de um conceito e

ajudam a catalogar e distinguir vários tipos de objetos e seus relacionamentos.

Desta forma, a Web semântica depende essencialmente de ontologias para

estruturar dados, objetivando ajudar pessoas e máquinas a comunicar-se concisamente,

suportando intercâmbio semântico e não somente sintático, [Maedche & Staab, 2001],

compreendendo o seu vocabulário e sua semântica, podendo ser reusadas e

compartilhadas [Chiang et al., 2001], sendo consideradas como a memória

organizacional das empresas (comunidades), em que todas as informações relevantes e 20

Page 30: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

conhecimento estão disponíveis [Benjamins & Martin, 2000], abrindo o caminho para

se deslocar da visão de gestão de conhecimento orientada a documentos para uma visão

orientada a conteúdo, onde os itens do conhecimento são interligados, combinados e

então, usados [Staab et al., 2001].

Manutenção de Ontologias

É amplamente reconhecido que a construção de um modelo de domínio, ou

ontologia, é um importante passo no desenvolvimento de sistemas baseados em

conhecimento. Encontramos um crescente número de métodos utilizados no processo de

desenvolvimento de ontologias, tais como Methontology e IDEF5, além das abordagens

baseadas nas experiências de desenvolvimento da ontologia Enterprise e da ontologia

adotada no projeto TOVE (Toronto Virtual Enterprise), não havendo, no entanto, um

método padrão que especificamente trate esta questão. Entretanto, todas as abordagens

incluem no ciclo de desenvolvimento de uma ontologia, a necessidade de técnicas a

serem utilizadas em sua manutenção [Jones et al., 1998].

Ontologias têm que ser mantidas freqüentemente, pois suas especificações

precisam ser alteradas para refletir as constantes mudanças do mundo real. A

manutenção de ontologias é principalmente um processo organizacional, devendo haver

regras restritas para os processos de atualização, deleção e inserção na ontologia, sendo

que o “feedback” dos usuários proporciona a mais valiosa informação para a

identificação das mudanças necessárias [Staab et al., 2001].

A manutenção de ontologias permanece semi-automática, devido à

complexidade envolvida neste processo, com os engenheiros de ontologia geralmente

utilizando ferramentas de suporte que apóiam sua intervenção neste processo, baseando-

se na estrutura da ontologia e em dados de entrada (geralmente advindos de processos

adicionais) que propõem novos conhecimentos sobre conceitos de interesse, relações e

entradas léxicas, ou conexões entre essas entidades, sugerindo adições, deleções ou

alterações a serem feitas nas ontologias [Maedche & Staab, 2001].

2.4.1.2 – Prospecção de Dados da Web

Com o explosivo crescimento de fontes de informações disponíveis na Web,

torna-se necessário que os usuários utilizem ferramentas automáticas para encontrar os

recursos de informação necessários, localizar e analisar seus padrões de uso. Esses

fatores levam à necessidade de criação de sistemas inteligentes do lado do servidor e do

cliente que possam efetivamente extrair o conhecimento [Cooley et al., 1997]. 21

Page 31: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Os repositórios de dados da Web podem ser classificados, segundo [Srivastava et

al., 2000], da seguinte maneira:

a) bancos de dados da organização: armazenamento das transações on-line;

b) servidores Web: arquivos de log de acesso dos servidores da Web;

c) clientes Web: cookies, plug-ins, agentes remotos (Javascripts e Java applets)

e componentes de software instalados no usuário (modificando o código do

browser, por exemplo);

d) servidores proxy: principalmente para analisar páginas armazenadas em

cache.

Os dados contidos nestes repositórios podem estar relacionados a [Schafer,

2001], [Kohavi & Becher, 2001]:

a) atributos demográficos dos usuários (sexo, idade, localização etc.) que

podem ser por eles fornecidos, descobertos no mundo real (ex.: a partir de

endereço de entrega de produtos comprados on-line) ou descobertos pela

rede (ex.: domínio de origem);

b) navegação explícita: páginas requisitadas ou visitadas, links seguidos,

escolhas de atributos ou parâmetros fornecidos como entrada, tempo gasto

etc.;

c) navegação implícita: itens escolhidos e quais itens estão sendo vistos;

d) palavras-chave usadas em buscas;

e) histórico de relacionamentos do usuário com o site: compras feitas, páginas

visitadas, documentos ou elementos baixados por download, revisitas etc.

f) feedback do usuário: preferências, opiniões e comentários;

g) conteúdo visitado;

h) descartes do usuário: produtos colocados no cesto e tirados, páginas não

carregadas totalmente etc.

A prospecção de dados da Web se refere à extração e identificação de padrões na

Web e é sugerido aplicar as técnicas de prospecção de dados para os dados da Web,

podendo-se fazer análises estatísticas sobre páginas visitadas (pageviews), tempo gasto

entre páginas, páginas mais freqüentemente vistas, associações entre páginas

freqüentemente vistas em uma mesma visita e que não estão relacionadas por

hyperlinks, padrões seqüenciais (eventos que precedem outros), padrões transversos

22

Page 32: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

(páginas não diretamente ligadas por hyperlinks, mas relacionadas por meio de outras),

dentre outros padrões [Srivastava et al., 2000].

Embora a prospecção de dados da Web seja profundamente baseada em

prospecção de dados em geral, as duas não são equivalentes, pois a característica não-

estruturada dos dados da Web traz uma maior complexidade para a prospecção de dados

da Web [Wang, 2000].

[Etzioni, 1996] e [Kosala & Blockeel, 2000] sugerem uma forma similar às

etapas da prospecção de dados genérica para a decomposição do processo de prospecção

de dados da Web:

a) Descoberta do Recurso: a tarefa de recuperar a informação pretendida da

Web.

b) Extração da Informação: automaticamente selecionar e pré-processar

informações específicas dos recursos recuperados da Web.

c) Generalização: automaticamente descobrir padrões genéricos em sites

individuais e entre múltiplos sites.

d) Análise: analisar o padrão descoberto.

A prospecção de dados da Web, ou Web Mining, pode ser categorizada da

seguinte forma [Becerra-Fernandez, 2001], [Wang, 2000], [Zaïane, 1999a], [Zaïane,

2000] :

- Prospecção de Conteúdo da Web (Web Content Mining): analisa o conteúdo

existente nas páginas da Web, focalizando a descoberta/recuperação de

informações úteis a partir de documentos/dados/conteúdos, estando aí

incluídas a prospecção de dados textuais da Web, a prospecção baseada em

indexação de conceitos e as tecnologias baseadas em agentes, sendo um tipo

de prospecção voltada principalmente para os usuários finais da Web;

- Prospecção de Estrutura da Web (Web Structure Mining): examina como

documentos da Web estão estruturados, enfatizando a descoberta de como

modelar as estruturas de links, sendo voltada principalmente para os

desenvolvedores e projetistas de sites e páginas Web; e

- Prospecção de Uso da Web (Web Usage Mining): objetiva principalmente

descrever técnicas para a descoberta de padrões de uso a partir da

identificação das navegações dos usuários nas páginas da Web, para posterior 23

Page 33: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

previsão do comportamento futuro destes usuários, sendo destinada

primordialmente para os desenvolvedores e projetistas.

As categorias acima podem ser visualizadas na Figura 2.3, [Zaïane, 1999a].

Prospecção de

Conteúdo de

Páginas da Web

Prospecção de

Resultados de

Busca na Web

Prospecção de

Padrões de Acesso

Genéricos

Prospecção de Uso

Customizado

Prospecção de

Conteúdo da Web Prospecção de

Estrutura da Web Prospecção de Uso

da Web

Prospecção de

Dados da Web

Figura 2.3: Categorias de Prospecção de Dados da Web.

A divisão da prospecção de dados da Web nas três categorias citadas é baseada

no tipo de dado que será analisado [Wang, 2000]. Assim, enquanto a prospecção de

estrutura e conteúdo utiliza dados reais ou primários da Web, a prospecção de uso tenta

dar sentido aos dados secundários derivados das interações dos usuários com a Web

[Kosala & Blockeel, 2000].

[Cooley et al., 1997] classifica a prospecção de uso da Web de forma mais

simplificada, distinguindo apenas a prospecção de conteúdo e a prospecção de uso,

estando nesta última englobada a prospecção de estrutura da Web, já que os métodos de

preparação de dados, análise e busca de conhecimento sobre o uso das páginas Web

salientam a necessidade de se ter informações estruturais sobre os sites.

Prospecção de Conteúdo da Web

É difícil localizar informações relevantes sobre determinado assunto somente

através dos links dos documentos hipertexto na Web. Para providenciar uma busca de

informação mais eficiente foram criados os indexadores de documentos, conhecidos

24

Page 34: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

como máquinas de busca, como AltaVista (www.altavista.digital.com), Google

(www.google.com), Excite (www.excite.com), Infoseek (www.infoseek.com) e Lycos

(www.lycos.com).

Estes tipos de sites podem funcionar basicamente de duas maneiras:

- Coleta de dados e indexação: agentes, conhecidos como robôs, percorrem a

Web, coletam, armazenam e indexam as informações.

- Meta-índices: utilização dos próprios indexadores de documentos para a

realização da busca.

Estes sites, apesar de serem muito utilizados pelos usuários da Web, apresentam

problemas relacionados a questões de relevância e abrangência.

Outros recursos que visam facilitar a pesquisa são os diretórios organizados com

a intervenção humana. Apesar de eficiente, esse tipo de site é difícil de se manter

atualizado devido ao grande dinamismo da Web. Outro problema é que a visão do

categorizador da informação pode ser diferente da do usuário. Exemplos de sites deste

tipo são The Mining Company (home.miningco.com) e Yahoo (www.yahoo.com).

O ponto central da ineficiência da busca por informação está no fato da Web não

ter sido planejada e projetada para armazenar informações de forma organizada e

ordenada, o que faz com que a descoberta automatizada de conhecimento, a organização

e a administração das informações tornem-se atividades de difícil execução.

As ferramentas de busca e indexação tradicionais provêem um pouco de

conforto aos usuários, porém elas geralmente não provêem informação estruturada,

categorização, filtragem e interpretação de documentos.

Já as ferramentas para a prospecção de conteúdo da Web são capazes de efetuar

recuperação inteligente de informações ou de fornecer um alto nível de organização

para os dados semi-estruturados disponíveis na Web, através da extensão de técnicas de

prospecção de dados, trabalhando com dois tipos de enfoques:

Enfoque Baseado em Agentes: ferramentas que utilizam agentes inteligentes para

auxiliar o usuário na busca de informações de interesse possibilitando que o trabalho de

recuperação seja mais produtivo e eficiente. Tais sistemas podem ser classificados em

uma destas três categorias [Cooley et al., 1997]:

a) Agentes Inteligentes de Pesquisa: agentes desenvolvidos para pesquisar

por informação importante, utilizando características do domínio e o 25

Page 35: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

perfil do usuário para organizar e interpretar as informações descobertas.

[Spertus, 1998] desenvolveu um agente que permite a interpretação de

documentos da Web codificados em tabelas em um banco de dados

relacional, sendo baseado no Squeal, um sistema desenvolvido para

permitir que sejam feitas consultas SQL à Web. Já o Shopbot [Doorenbos

et al., 1997] é um agente que aprende a partir de fontes de dados de

estrutura previamente desconhecida, oferecendo para os usuários os

preços mais baratos de determinados produtos.

b) Agentes de Filtro/Classificação de Informações: agentes Web que

utilizam técnicas de recuperação de informação e características dos

hiperdocumentos, como, por exemplo, a estrutura incorporada na

estrutura de links, para, automaticamente, recuperar, filtrar e classificar

as informações disponíveis na Web, criando grupos de documentos com

características semelhantes. Os Web crawlers, robôs ou spiders

[Kobayashi & Takeda, 2000] são agentes especializados que podem ser

utilizados para a extração das estruturas ou topologias dos sites Web.

c) Agentes de Personalização da Web: agentes Web que aprendem as

preferências dos usuários a partir da experiência de interação com esses e

descobrem fontes de informações baseadas nessas preferências e nas de

indivíduos com interesses similares. Tais ferramentas podem, ainda,

sugerir informações descobertas, de forma automática, para o usuário.

Letizia [Lieberman, 1995] foi um dos primeiros agentes desse tipo,

auxiliando a navegação a partir dos hábitos do próprio usuário, sem o uso

de palavras-chave ou rating. Já WebWatcher [Joachims et al., 1997],

[Armstrong et al., 1995] aprende a partir dos padrões de navegação de

toda a sua comunidade de usuários, fazendo-lhes recomendações de

páginas consideradas mais interessantes.

Enfoque em Banco de Dados: a abordagem em banco de dados para a

prospecção na Web faz uso de técnicas para a organização dos dados semi-estruturados

da Web de forma mais estruturada e com a utilização de técnicas de consulta e

prospecção de dados em bancos de dados para análise. Esses trabalhos podem ser

agrupados nas seguintes categorias: 26

Page 36: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

a) Bancos de Dados Multiníveis: ferramentas que organizam as

informações em diversas camadas, ficando no nível mais baixo os dados

semiestruturados armazenados em diversos repositórios Web; no nível

mais alto, metadados ou generalizações extraídas dos níveis inferiores, os

quais são organizados em coleções estruturadas, isto é, bancos de dados

relacionais ou orientados a objeto. Sobre a utilização destas ferramentas

pode-se citar o trabalho de [Merialdo et al., 1997].

b) Sistemas de Consulta Web: ferramentas que utilizam linguagens de

consulta a bancos de dados, como SQL, informações estruturais sobre os

documentos da Web e, até mesmo, processamento de linguagem natural

para a busca de informações. Um exemplo é W3QS [Konopnicki &

Shmueli, 1996] que é uma linguagem declarativa de consulta, estilo SQL,

que pode ser utilizada em tais sistemas.

[Srivastava et al., 2000] sugerem utilizar técnicas de prospecção tais como

classificação ou agrupamento de páginas Web ou partes destas (textos, imagens),

identificando o assunto ou tipo. Isto permitiria encontrar páginas ou documentos de

conteúdo relacionado para apoiar comunidades virtuais, sendo também possível realizar

agrupamentos de usuários com comportamento similar, para entender padrões na

comunidade virtual.

Prospecção de Estrutura da Web

A maioria das ferramentas de recuperação de informação da Web usa somente a

informação textual, ignorando as informações de links que podem ser muito valiosas. O

objetivo da prospecção de estrutura da Web é gerar sumário estrutural sobre os sites e

páginas da Web. Tecnicamente, a prospecção de conteúdo da Web focaliza

principalmente as estrutura dos documentos, enquanto a prospecção de estrutura da Web

tenta descobrir a estrutura de ligação dos hyperlinks entre documentos. Baseada na

topologia dos hyperlinks, a prospecção de estrutura da Web categoriza as páginas e gera

informações, tais como a similaridade e relacionamentos entre diferentes sites.

Muitas aplicações utilizam em conjunto técnicas de prospecção de conteúdo e de

estrutura da Web. Pode-se citar o sistema Expert Seeker [Becerra-Fernandez, 2001],

desenvolvido pelo Laboratório de Gestão de Conhecimento da Florida International

27

Page 37: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

University com o propósito de ser disponibilizado na intranet da NASA para possibilitar

a descoberta de empregados com determinadas habilidades, baseando-se em dados

contidos nas páginas Web do domínio, permitindo uma rápida identificação de

habilidades potenciais dos empregados, especialmente úteis para a organização e

formação de equipes de trabalho.

A prospecção de estrutura da Web pode ser direcionada para a descoberta da

estrutura dos próprios documentos da Web. Este tipo de prospecção de dados pode ser

usado para descobrir a estrutura das páginas, o que pode ser útil para propósitos de

navegação e tornar possível a comparação/integração de esquemas de páginas da Web.

Assim, a prospecção de estrutura da Web facilita a introdução de técnicas de bancos de

dados para informações de acesso a páginas Web por prover um esquema referencial.

No geral, se uma página Web é diretamente ligada a outra, ou as páginas são

vizinhas, pode-se descobrir os relacionamentos entre estas páginas. Tais

relacionamentos podem ser de vários tipos, tais como relacionamentos por sinônimos ou

ontologias, conteúdos similares, utilização de mesmo servidor, etc.

Uma outra tarefa da prospecção de estrutura da Web é descobrir a natureza da

hierarquia ou rede de hyperlinks nos sites da Web de um domínio particular, o que pode

auxiliar na generalização do fluxo de informação nestes sites, que representam o

domínio, tornando o processamento de consultas mais fácil e eficiente [Wang, 2000].

Alguns algoritmos têm sido propostos para modelar a topologia da Web, tais

como HITS [Kleinberg, 1998], PageRank [Brian & Page, 1998] e aperfeiçoamentos de

HITS pela adição de informações de conteúdo para a estrutura de links [Chakrabarti et

al., 1999] e pela utilização de filtragem [Bharat & Henzinger, 1998]. Esses modelos são

principalmente aplicáveis como um método para calcular a qualidade e relevância de

cada página Web. Alguns exemplos são o sistema Clever [Bharat & Henzinger, 1998] e

Google [Brian & Page, 1998]. Algumas outras aplicações dos modelos incluem

categorização de páginas da Web [Chakrabarti et al., 1998] e descoberta de pequenas

comunidades na Web [Kumar et al., 1999].

28

Page 38: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Prospecção de Uso da Web

Prospecção de uso da Web, ou Web Usage Mining, é o processo de aplicação de

técnicas de prospecção de dados para descobrir padrões de uso dos dados da Web

[Srivastava et al., 2000] tendo como sua principal utilização a análise de como os

usuários estão acessando um site, sendo assim essencial para a determinação de

estratégias de mercado e otimização da estrutura lógica de sites da Web [Cooley et al.,

1997].

Atividades de comércio eletrônico estão experimentando uma revolução

significante. A habilidade para rastrear comportamentos de navegação dos usuários e os

cliques de seus mouses individuais, tem tornado os vendedores e os usuários finais mais

íntimos do que nunca, possibilitando que um vendedor personalize suas mensagens de

produtos para usuários individuais em alta escala, fenômeno que está sendo referenciado

como customização em massa. Este é apenas um dos cenários em que são possíveis

aplicações de prospecção de uso da Web.

As organizações coletam grandes volumes de dados de suas operações diárias,

gerados automaticamente e coletados em logs de acesso nos servidores da Web.

Mecanismos para análise destes dados podem determinar o número de acessos feitos ao

servidor e a arquivos individuais, o tempo das visitas, quais URLs foram visitadas etc.

[Srivastava et al., 2000], e para esta tarefa podem ser utilizados alguns algoritmos de

prospecção de dados tais como aqueles destinados à geração de regras de associação,

de padrões seqüenciais e agrupamento [Cooley et al., 1997].

Como qualquer outro processo de descoberta de conhecimento, a prospecção de

uso da Web envolve questões de pré-processamento de dados antes de se aplicar

algoritmos de prospecção, tais como: desenvolver um modelo de acesso ao arquivo de

log, desenvolver técnicas de limpeza/filtragem dos dados para eliminar itens

irrelevantes, agrupar acessos individuais (transações), integrar várias fontes de dados e

especializar algoritmos genéricos de prospecção de dados para eficientemente aplicação

nos dados de natureza específica que compõem os arquivos de log. Além do

desenvolvimento de técnicas para a aplicação de prospecção de uso da Web é necessário

desenvolver técnicas e ferramentas para a análise dos padrões descobertos, que podem

incluir estatísticas, gráficos etc. [Cooley et al., 1997].

Assim, a prospecção de uso da Web pode ser dividida em pelo menos três etapas

distintas, cada uma delas com suas próprias características, procedimentos, métodos,

entradas e saídas: pré-processamento, descoberta de padrões de uso, análise e

visualização dos resultados [Cooley et al., 1997], [Cooley, 2000]. 29

Page 39: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

1) Pré-processamento ou preparação de dados

Nesta etapa são realizadas a leitura, filtragem, limpeza e integração das

diferentes fontes de dados de utilização Web, além de poder incluir a

identificação dos usuários e de suas sessões e transações, em casos onde as

fontes de dados não contêm uma correta ou precisa identificação. Considera-

se uma sessão de um usuário um conjunto de páginas acessadas por ele em

uma determinada visita ao site, e transação como um agrupamento

semanticamente significativo de páginas.

Idealmente, a prospecção de padrões deveria ser feita sobre um conjunto

de sessões ou transações de usuários contendo informações precisas e

detalhadas sobre quem acessou o site, que páginas foram visitadas e em que

ordem, e por quanto tempo cada página foi vista [Cooley et al., 1999].

Porém, as principais fontes de dados sobre o uso de um site são os

próprios logs gerados pelos servidores Web, os quais possuem sérias

deficiências em termos de detalhamento e reconhecimento dos usuários e

sessões, sendo que os dados contidos em um log de servidor Web não

representam com total confiabilidade as sessões dos usuários devido a uma

série de características: a presença de grande número de itens irrelevantes (da

mesma forma que nas outras fontes de dados), a ausência de identificação

única dos usuários, sessões e transações, bem como a inexistência dos

registros das visitas a inúmeras páginas, devido ao uso de cache e servidores

proxies.

A etapa de pré-processamento pode incluir as seguintes atividades:

- Limpeza dos Dados

As técnicas de limpeza ou filtragem das fontes de dados são

fundamentais pelo fato delas conterem muitas informações

irrelevantes, tais como acessos a arquivos de imagens, som, vídeo,

animações, etc. Uma entrada de log de utilização contém,

normalmente, o registro do percurso de uma página de origem até uma

página de destino, incluindo o IP da máquina cliente que originou a

chamada, o tipo de acesso (POST ou GET) realizado, além de outros

dados, a depender do padrão utilizado pelo servidor Web.

No protocolo HTTP, um cliente faz ao servidor uma requisição

para cada arquivo necessário à visualização de uma determinada 30

Page 40: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

página. Assim, um acesso a uma simples página Web provoca a

gravação de várias entradas de log no servidor, para cada uma das

imagens, scripts ou outros arquivos carregados juntamente com a

página. Em geral, somente as entradas de log associadas aos acessos às

páginas HTML serão de interesse na prospecção de uso, pois os

demais arquivos, especialmente imagens, são baixados

automaticamente à revelia do usuário, e devem ser removidas. A

eliminação de dados irrelevantes pode ser feita de forma razoável

conferindo-se o sufixo do nome de arquivos em uma URL. Por

exemplo, todas as entradas do log com sufixos de nomes de arquivos

como: gif, jpeg, jpg etc., podem ser removidas.

- Identificação dos usuários

Após a limpeza do log, a próxima atividade a se realizar é a

identificação de usuários, caso as fontes de dados em questão não

contenham em si mesmas informações de identificação.

Os logs de servidores Web são bastante incompletos em relação

a identificação do usuário, podendo-se citar várias dificuldades,

causadas principalmente pelo uso de cache e a presença cada vez

maior de servidores proxy, que podem distorcer os dados dos logs

[Pirolli et al., 1996], [Pitkow, 1997].

O cache faz com que a mesma página possa ser acessada várias

vezes pelo usuário, sem que o servidor Web registre no log tais

acessos, sendo um método para tornar mais eficiente o acesso a

páginas muito visitadas pelo usuário e que não sofram muitas

modificações. A página fica armazenada no disco local e, com isso,

nas próximas vezes em que for acessada, não será feita uma nova

requisição ao servidor Web. O uso de servidores de cache em muitos

provedores de acesso é ainda mais problemático, pois as páginas de

maior utilização de todos os usuários do provedor serão armazenadas

para uso futuro. Com isso, mesmo que um usuário nunca tenha

acessado uma determinada página, ao fazê-lo pela primeira vez não

será gerada uma entrada no log do servidor Web onde ela se localiza,

caso a mesma já tenha sido armazenada no servidor de cache do

provedor por ter sido muito acessada por outros usuários. 31

Page 41: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Os servidores proxy também possuem problemas associados

com a identificação de usuários, pois o mesmo número IP em diversas

entradas de log pode estar associado a diferentes máquinas clientes. O

servidor proxy é uma maneira eficiente e segura que muitas

organizações encontram para compartilhar o uso de um número IP por

diversas máquinas da sua intranet. Assim, para os computadores da

rede externa, todas aquelas máquinas serão vistas como uma só, já que

utilizam o mesmo número.

Métodos atuais tentam superar os problemas causados pelo uso

de cache, forçando na página Web, o “by-pass” do cache: obriga-se o

navegador a recarregar a página sempre que ela for visitada, num

processo conhecido como “cache busting”. A identificação do usuário

pode ainda ser facilitada com o uso de cookies, assim as entradas dos

logs terão as informações sobre quais cookies foram utilizados nos

acessos. Outra possibilidade é o registro explícito dos dados pessoais

dos usuários sempre que iniciar a navegação em um determinado site.

Assim, os logs registrariam também um identificador do usuário,

sendo uma solução colaborativa.

Essas soluções são questionadas em [Pitkow, 1997] por

possuírem limitações. Os cookies, por exemplo, podem ser removidos

pelo usuário, ou podem ser desabilitados na configuração do

navegador. O “by-pass” de cache também pode ser desabilitado e,

além disso, é um mecanismo que termina por tirar a principal

vantagem do uso do cache, que é a maior velocidade de navegação.

Finalmente, o registro explícito, apesar das vantagens que traz pelas

informações demográficas adicionais que oferece, levanta questões de

privacidade que podem fazer com que muitos usuários desistam de

navegar num site ou mesmo forneçam informações incorretas sobre si

mesmos.

Com todas essas limitações, deve-se apelar, na maioria das

vezes, para heurísticas que permitam identificar se uma requisição de

página gravada no log veio do mesmo usuário. Pode-se usar

algoritmos ou estratégias que permitam testar diferentes combinações

de números IP, nomes de máquina e informações temporais para se

identificar o usuário [Pitkow, 1997]. 32

Page 42: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

- Identificação das sessões

O processo de identificação das sessões é semelhante ao de

identificação dos usuários. Considera-se a sessão como uma passagem

completa de um usuário por um site, desde a página por onde ele

iniciou a passagem até a última página acessada.

Para a identificação de sessões individuais de cada usuário pode-

se adotar o método mais simples de utilizar-se um timeout de controle:

sempre que o tempo entre dois acessos consecutivos para um

determinado usuário for maior do que este timeout, assume-se que ele

iniciou uma nova sessão.

Em [Spiliopoulou & Faulstich, 1998], [Spiliopoulou et al., 1999]

são adotados dois critérios complementares para identificação de

sessões: além de considerar o timeout entre dois acessos consecutivos,

como descrito acima, assume-se também que uma nova sessão é

iniciada quando a duração total de uma seqüência de acessos exceder

um determinado limiar.

Um problema adicional na identificação de sessões é a descoberta

dos acessos que não foram registrados nos logs, devido a dois

mecanismos que já causaram problemas anteriormente na identificação

de usuários: o uso de cache e a presença de servidores proxy [Cooley

et al., 1999]. Ainda que se possa aqui utilizar soluções semelhantes, tal

como a supressão do cache, pode-se também adotar um algoritmo de

completar caminhos para tentar suprir essas lacunas.

Ao final do processo de identificação de sessões, será gerado um

arquivo contendo todas as sessões dos usuários, o qual servirá como

entrada para a fase de descoberta de padrões, ou para a etapa ainda

preparatória de identificação de transações. Alternativamente, os dados

sobre as sessões descobertas podem ser armazenados diretamente em

um SGBD (Sistema Gerenciador de Banco de Dados).

33

Page 43: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

- Identificação de transações

Uma transação difere-se da sessão por ser um agrupamento

semanticamente significativo de referências de páginas, podendo

incluir desde apenas uma até todas as páginas acessadas em uma

sessão, o que dependerá dos critérios usados para identificá-la [Cooley

et al., 1999].

O processo de identificação de transações envolve tanto a

divisão de transações em outras menores quanto o agrupamento de

transações pequenas em outras maiores, numa seqüência de passos que

conduza aos tipos de transações apropriados para o algoritmo de

prospecção que será utilizado na próxima etapa.

2) Descoberta dos padrões de utilização

É nesta etapa que são efetivamente aplicados os métodos e algoritmos de

prospecção de dados em busca de padrões úteis e significativos. Após a

identificação das sessões ou transações, há vários tipos possíveis de

prospecção a realizar nos dados, tais como: simples análises estatísticas,

análises dos caminhos percorridos, descoberta de regras de associação,

padrões seqüenciais, agrupamento e classificação, sempre utilizando as

técnicas de prospecção de dados já estabelecidas, modificando-as para o fim

pretendido, ou, eventualmente, desenvolvendo-se novos métodos específicos

para a prospecção de uso da Web.

a) Análise Estatística

Procura identificar simplesmente dados de caráter geral, tais como

número de hits por página, as páginas acessadas mais

freqüentemente, as páginas mais usadas como ponto de partida ou de

saída do site etc., sendo o tipo de padrão mais difundido nas

ferramentas de prospecção de uso disponíveis no mercado.

b) Análises de Caminhos

Diversos tipos diferentes de grafos podem ser formados quando se

executa uma análise de caminho, desde que sejam relacionados ao

caminho percorrido pelo usuário durante a navegação [Pirolli et al.,

1996]. A partir de tais grafos pode-se tentar determinar diversos tipos 34

Page 44: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

de padrões, tais como a seqüência de páginas mais visitadas até se

encontrar uma determinada página, a página inicial utilizada pela

maioria dos usuários para se encontrar uma determinada página, os

caminhos mais percorridos etc.

c) Regras de Associação

A descoberta de regras de associação é utilizada em bancos de

dados de transações onde cada transação é um conjunto de itens ou

atributos. O problema é descobrir todas as associações e correlações

entre dados onde a presença de um item no conjunto de dados de

transações implica na presença de outros itens. No contexto da Web,

cada transação pode ser composta de um conjunto de URLs que o

cliente acessou em uma visita ao servidor. Com a utilização de regras

de associação pode-se chegar a correlações que indiquem, por

exemplo, a porcentagem em que duas ou mais páginas foram

acessadas conjuntamente pelos usuários em uma visita ao site.

Para diminuir o impacto do tamanho dos bancos de dados,

costuma-se utilizar medidas de confiança e suporte dos itens,

baseadas no número de ocorrências das transações dentro dos logs.

Confiança é o percentual entre o número de transações que contêm

todos os itens de uma regra e o número de transações que contêm os

antecedentes da regra. Já suporte é o percentual de transações que

contém determinado padrão.

As regras de associação descobertas podem ser de grande

utilidade para o comércio eletrônico, como também para servir de

apoio à organização do próprio servidor.

d) Padrões Seqüenciais

Padrões seqüenciais são aqueles baseados nas seqüências

ordenadas das transações ocorridas, em relação ao tempo, por cada

um dos usuários de um servidor. Na Web, os padrões seqüenciais

encontrados podem, por exemplo, mostrar que um certo percentual de

usuários que acessaram determinada página num servidor também

fizeram uma compra on-line em uma outra página no intervalo de

uma semana. Outro tipo de padrão seqüencial associado ao tempo é 35

Page 45: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

aquele em que se determina qual o intervalo em que determinadas

páginas foram mais acessadas, ou procura as características em

comum dos clientes que visitaram estas páginas em um intervalo

específico.

e) Classificação e Agrupamento

Regras de classificação na Web permitem desenvolver perfis de

usuários que tenham acessado o servidor, através de características ou

atributos em comum, como informações demográficas destes

usuários ou seus padrões de acesso, facilitando a designação destes

usuários em agrupamentos. Por exemplo, as regras de classificação

da Web, aplicadas a arquivos de log, podem levar à descoberta de

relações entre as páginas mais acessadas e uma característica

demográfica do usuário.

3) Análise e visualização dos padrões

Nesta etapa são disponibilizados e identificados os principais padrões

encontrados, a partir das preferências e definições dos usuários. A descoberta

de padrões de uso da Web não seria muito útil sem que houvesse mecanismos

e ferramentas para auxiliar o analista a entender os padrões descobertos.

Conseqüentemente, além do desenvolvimento de técnicas para a prospecção

de dados visando a obtenção de padrões, há também a necessidade de se

desenvolver técnicas e ferramentas que possibilitem uma análise dos padrões

descobertos, tais como programas estatísticos, gráficos de visualização e

grades de consultas.

As análises serão feitas através da comparação do conhecimento

descoberto sobre a utilização do site com a perspectiva que os seus projetistas

possuem sobre como ele deveria ser utilizado.

[Kato et al., 2000] apresentam uma ferramenta voltada especificamente

para auxiliar o projetista na análise dos padrões de utilização. Para avaliar as

expectativas do projetista ao projetar o site, a ferramenta analisa a relevância

conceitual entre as páginas e a conectividade dos seus links. Por outro lado,

medindo a ocorrência conjunta de acessos entre diferentes páginas, ela avalia

os padrões de uso dos visitantes. Comparando esses dois aspectos, a

ferramenta mostra ao administrador do site quais são os pontos falhos no seu 36

Page 46: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

projeto, apontando as páginas que não estão sendo efetivamente úteis, ou seja,

não apresentando correlação suficiente entre a relevância conceitual e a co-

ocorrência de acessos. A ferramenta disponibiliza de maneira gráfica os

resultados das análises, através de um sistema de coordenadas polares que

torna fácil a comparação das trilhas seguidas pelos usuários com os problemas

detectados, dando pistas bastante úteis de como o site pode ser reestruturado.

Outra área de grande influência na análise dos padrões encontrados é a de

data warehousing juntamente com técnicas de OLAP [Zaïane et al., 1998], já

que os dados de utilização da Web possuem muito em comum com aqueles de

uma data warehouse: tais dados são sempre agregados ao final dos logs, os

quais crescem rapidamente ao longo do tempo, impossibilitando a análise de

todo ele, e levando à necessidade de sumarização para fins de desempenho.

Há também requisitos de segurança, pois certas porções dos logs não devem

ser vistas pelo analista. Assim, [Kimball & Merz, 2000] apresentam uma

visão unificada do processo de prospecção de uso da Web focada

essencialmente em data warehousing, a qual denominam “data Webhousing”,

que além de abordarem temas comuns aos outros trabalhos de prospecção de

uso, fazem-no de modo integrado, incluindo a utilização de técnicas e

ferramentas OLAP.

As aplicações de prospecção de uso da Web podem ser classificadas em duas

categorias: aprendizagem de perfil do usuário ou modelagem de usuários em interfaces

adaptativas (personalização) ou aprendizagem de padrões de navegação (sem

personalização). Usuários da Web podem estar interessados em técnicas que possam

aprender suas necessidades e preferências de informação, que é a modelagem do usuário

possivelmente combinada com prospecção de conteúdo da Web. Por outro lado,

provedores de informação podem estar interessados em técnicas que melhorem a

efetividade das informações, estando interessados em aprendizagem de padrões de

navegação dos usuários, que podem ser usados em aplicações tais como personalização

(nível de site da Web), melhoramento do sistema, modificações no site, comércio

inteligente e caracterização de uso [Kosala & Blockeel, 2000]. No entanto, uma das

mais difíceis tarefas em prospecção de dados é a determinação de qual dos algoritmos

disponíveis é melhor para um dado problema [Wu, 2002].

37

Page 47: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Existe uma ampla variedade de aplicações para as informações obtidas a partir

da análise de uso de um site Web, indo desde a utilização em campanhas promocionais,

análise de estratégias de marketing, reestruturação e adaptação automática do site, até o

gerenciamento mais efetivo das comunicações de um grupo de trabalho e da

infraestrutura organizacional, passando ainda pela distribuição de propaganda para

usuários específicos e venda de espaço de publicidade. Aplicações comuns incluem

usabilidade de sites da Web, direcionamentos para compras, marketing dinâmico, perfis

de usuários através da análise de comportamento e afinidades com determinados

produtos [Jennings, 2002].

2.4.1.3 – Interfaces Inteligentes ou Cooperativas

As interfaces inteligentes ou cooperativas utilizam técnicas de Inteligência

Artificial para auxiliar o usuário em suas tarefas. A interface inteligente deve simular

um intermediário humano, devendo possuir conhecimento sobre a terminologia usada,

sobre o sistema em questão e sobre técnicas de elicitação.

A finalidade da interface inteligente é ajudar o usuário a alcançar seu objetivo.

Conforme [Frainer, 1993], a interface inteligente deve capturar 4 tipos de

informação sobre o usuário:

- objetivo do usuário: estado que o usuário quer atingir;

- seu plano: a seqüência de ações ou eventos que o levam ao estado desejado;

- habilidades do usuário: físicas e mentais;

- comportamento e preferências: estilo de interação e comodidades.

Os objetivos do usuário podem ser explicitamente declarados ou então inferidos

automaticamente por mecanismos de inteligência da interface. Para este último caso,

podem ser empregadas técnicas de aprendizado de máquina (machine learning) para

analisar o comportamento do usuário, o histórico da interação ou de contatos anteriores

e as características do ambiente (por exemplo, observando o que foi recuperado, lido,

ignorado, gravado, excluído, enviado a outros etc.) [Loh & Garin, 2001].

Os procedimentos de cooperação indireta tendem a ser bem sucedidos quando a

captura das informações necessárias à sua implementação é realizada por um

mecanismo automatizado, que registram as atividades comuns e cotidianas dos

membros do grupo, sem lhes atribuir uma carga de trabalho adicional. Caso contrário, o

38

Page 48: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

ônus de preencher relatórios, documentar comportamentos ou relatar resultados de

pesquisas, desencoraja a participação do usuário no sistema [Schwartz & Wood, 1993].

Geralmente, as interfaces inteligentes ou cooperativas procuram estabelecer

modelos de usuários para poder auxiliá-los. Isto pode ser conseguido descobrindo-se um

perfil comum em grupos de usuários. Também podem ser utilizados diálogos para que a

interface entenda a necessidade do usuário. As técnicas de processamento de linguagem

natural são utilizadas por interfaces inteligentes ou cooperativas para entender as

entradas fornecidas pelos usuários ou para formular respostas a eles compreensíveis,

também servindo para eliminar ambigüidades na interação, quando os usuários tentam

elicitar as suas necessidades. Eliminar ambigüidades significa determinar o sentido ou

significado das palavras e frases, uma vez que estas podem possuir mais de um

significado ou podem levar a interpretações errôneas, dependendo da construção

formada [Loh & Garin, 2001].

2.4.1.4 – Agentes Inteligentes

Agentes inteligentes são sistemas automatizados (hardware ou software),

imbuídos de mecanismos de Inteligência Artificial, capazes de tomar decisões e auto-

aprimorar seu desempenho [Yao et al., 2001].

Segundo [Fernandes, 1998] e [Wang et al., 2002] agentes inteligentes devem

possuir as seguintes características:

a) autonomia: trabalhar sem a intervenção humana;

b) sociabilidade ou habilidade: saber interagir com humanos ou outros agentes;

c) reatividade: poder receber estímulos do ambiente e responder em tempo

hábil;

d) pró-atividade: ter comportamento direcionado a um objetivo, tomando a

iniciativa da ação sem precisar esperar estímulos;

e) mobilidade: locomover-se para outros ambientes;

f) continuidade temporal: funcionar continuamente.

A prospecção de dados da Web é freqüentemente vista e implementada dentro de

um paradigma de agente, tendo assim um relacionamento estreito com agentes de

software [Kosala & Blockeel, 2000]. Agentes utilizados na prospecção de dados são

considerados agentes inteligentes, pois exploram serviços na Web e buscam entender

regularidades por ela geradas [Yao et al., 2001], executando tarefas de prospecção de

dados para atingir seus objetivos. Dentre as subcategorias de agentes de software as que 39

Page 49: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

são relevantes para as tarefas de prospecção de dados compreendem agentes de interface

e agentes distribuídos.

Os agentes de interface de usuário tentam maximizar a produtividade das atuais

interações dos usuários com o sistema através de comportamento adaptativo

(personalização), sendo pertencentes a esta categoria os agentes de recuperação de

informação, agentes de filtragem de informação e agentes assistentes pessoais.

Tecnologia de agentes distribuídos é interessada na resolução de problemas de

um grupo de agentes e nesta categoria temos os agentes distribuídos para descoberta de

conhecimento ou prospecção de dados.

Existem duas abordagens freqüentemente utilizadas para desenvolver agentes

inteligentes que ajudam os usuários a encontrar e recuperar informações relevantes da

Web, chamadas de abordagem baseada em conteúdo e abordagem colaborativa. Na

abordagem baseada em conteúdo os sistemas procuram por emparelhamento de itens a

partir da análise de conteúdo, usando as preferências dos usuários. Na abordagem

colaborativa, os sistemas tentam encontrar usuários com interesses similares para fazer

recomendações a eles, utilizando para isto a análise de perfil do usuário, sessões ou

transações do usuário e assumindo que se alguns usuários acham um item importante,

então os outros usuários com interesses similares irão achá-lo importante também.

Podemos caracterizar os métodos baseados em conteúdo como prospecção de conteúdo

da Web e as abordagens colaborativas como prospecção de uso da Web [Kosala &

Blockeel, 2000].

Quando existem vários agentes inteligentes atuando de forma integrada e

cooperativa, o sistema denomina-se sistema multi-agentes. Geralmente, cada agente

inteligente individual possui conhecimentos próprios e diferentes. Estes indivíduos

interagem entre si, compartilhando informações e conhecimento para soluções de

problemas mais complexos, os quais dificilmente seriam resolvidos por qualquer deles

de maneira isolada [Loh & Garin, 2001]. Um exemplo deste tipo de arquitetura foi

aplicado no desenvolvimento do modelo CIR – Coordinated Intelligent Rational Agent,

que auxilia usuários na localização e recuperação de informação em sistemas de

informações distribuídos [Shakshuki et al., 2002].

2.4.2 – Aplicações da Web Inteligente

40

Existem diversas aplicações que se caracterizam como sistemas de Web

Inteligente, dentre elas: propagandas de produtos/serviços, suporte ao usuário através de

linguagem natural, intermediação de negócios empresa/cliente e B2B (business-to-

Page 50: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

business), inteligência competitiva, gerência de redes e sites, personalização de sites da

Web, recomendação e busca de informação, dentre outras, sendo estas três últimas as

mais estreitamente ligadas à descoberta de conhecimento sendo, portanto, analisadas

mais detalhadamente.

2.4.2.1 – Personalização de Sites da Web

Personalização é aplicável a qualquer atividade de navegação na Web, não

somente em comércio eletrônico, e pode ser definida como qualquer ação que utilize a

experiência na Web de um usuário particular, ou um conjunto de usuários. Esta

experiência pode ser algo casual como navegar em um site da Web ou economicamente

significante, como comercializar estoques. As ações podem limitar-se a apresentação

mais agradável para antecipar as necessidades de um usuário, até prover informações de

forma mais customizada [Mobasher et al., 2000a].

Customização é a personalização da apresentação do site de acordo com as

necessidades de cada usuário, tomado individualmente, baseando-se nas informações

sobre o usuário. Qualquer mudança afeta apenas o usuário individualmente,

efetivamente criando numerosas versões do site, uma para cada usuário. Já a

transformação é o aperfeiçoamento da estrutura do site baseado em interações com

todos os usuários. Uma lista de utilizações mais populares é um exemplo simples de

uma transformação global: o site se modifica de acordo com o interesse de usuários que

já o utilizaram para apresentar links que provavelmente serão atraentes para usuários

futuros [Perkowitz & Etzioni, 2000].

Atualmente, a maioria dos sistemas para a Web recai em três categorias: sistemas

manuais de regras de decisão, sistemas de filtragem colaborativa e, por último, agentes

de filtragem baseados em conteúdos.

Sistemas manuais de regras de decisão, tais como Broadvision

(www.broadvision.com), permitem que os administradores de sites da Web

especifiquem regras baseadas em perfis demográficos ou estáticos dos usuários,

coletados a partir de um processo de registro ou de seus históricos de sessões de uso,

sendo que tais regras são usadas para afetar o conteúdo apresentado para um usuário em

particular.

Sistemas de filtragem colaborativa, tais como Firefly [Shardanand & Maes,

1995] e Net Perceptions (www.netperceptions.com), tipicamente tomam informações

explícitas na forma de categorias ou preferências dos usuários, e através de uma

41

Page 51: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

máquina de correlação retorna a informação que é prevista ser a de preferência do

usuário.

Abordagens baseadas em conteúdo tais como aquelas usadas por WebWatcher

[Joachims et al., 1997] utilizam similaridade de conteúdo de documentos da Web para

obter perfis pessoais explicitamente ou implicitamente dos usuários.

De forma crescente, a nova geração de ferramentas de personalização da Web

está tentando incorporar técnicas de descoberta de padrões a partir dos dados de uso da

Web. Por exemplo, alguns sistemas de filtragem colaborativa estão realizando

experimentos a partir da obtenção implícita de categorias de usuários a partir de seus

dados de uso. Sistemas de prospecção de uso da Web executam quaisquer algoritmos de

prospecção em dados de uso ou clickstream provenientes de um ou mais sites da Web

para descobrir perfis de usuários. As entradas não são descrições subjetivas dos usuários

propriamente ditos, e assim não estão propensas a preconceitos. Os perfis são

dinamicamente obtidos dos padrões do usuário, e assim o desempenho do sistema não

degrada com o tempo. Além disso, o uso somente de similaridade de conteúdo na

obtenção de perfis agregados pode resultar em importantes perdas de relacionamentos

semânticos entre os objetos da Web. Assim, a prospecção de uso da Web pode reduzir a

necessidade de obtenção de categorias subjetivas dos usuários ou preferências pessoais

baseadas em dados cadastrais.

O processo genérico de personalização é divido em dois componentes. O

componente off-line é composto das tarefas de preparação dos dados e prospecção

específica de uso. As tarefas de preparação dos dados resultam em um arquivo de

sessões do servidor, onde cada sessão é uma seqüência de páginas visitadas

(pageviews). As tarefas de prospecção de uso envolvem a descoberta de regras de

associação, padrões seqüenciais, agrupamentos de páginas visitadas, agrupamentos de

usuários, ou qualquer outro método de descoberta de padrões. Os padrões descobertos

são usados pelo componente on-line para prover conteúdo personalizado aos usuários,

baseado em suas atividades atuais de navegação [Mobasher et al., 2000a].

Pode-se citar alguns tipos de personalização de sites mais populares:

- Portais que provêem uma variedade de customizações manuais feitas pelos

usuários, permitindo a seleção de links particulares, novos tópicos de

interesse etc. Nestes casos, a automatização é mínima, pois os usuários

organizam suas próprias home pages de forma customizada. Exemplos: My

Yahoo!! (my.yahoo.com) e Go2net´s (www.go2net.com).

42

Page 52: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

- A customização automática também é comum na Web, AVANTI

(fit.gmd.de/hci/projects/avanti/), por exemplo, usa informações de perfis de

uso e comportamento de uso dos usuários para decidir como apresentar links.

- Uma outra abordagem comum para customização automatizada é a filtragem

colaborativa, em que os usuários avaliam objetos e aqueles que avaliam de

forma similar objetos similares são presumidos terem gostos similares.

Quando um usuário busca recomendações de novos objetos, o site sugere

aqueles objetos que tiveram melhores avaliações pelos outros usuários com

gostos similares. Companhias como a Netperceptions

(www.netperceptions.com/) usam esta tecnologia para uma grande

quantidade de sites da Web, como por exemplo para a Amazon.com.

- Uma abordagem de transformação é usada pela Footprints [Wexelblat &

Maes, 1997], em que as trilhas percorridas pelos usuários são acumuladas e

as trilhas mais utilizadas indicam as páginas mais interessantes a serem

visitadas. As informações geradas são automáticas e anônimas, e qualquer

usuário pode vê-las, não precisando nenhuma informação sobre si para obter

esta vantagem do sistema (wex.www.media.mit.edu/people/wex) [Perkowitz

& Etzioni, 2000].

2.4.2.2 – Recomendação

A recomendação é um tipo especial de personalização que tem como objetivo

decidir quais dos objetos serão apresentados ao usuário e não somente modificar a

forma de apresentação [Loh & Garin, 2001], constituindo o componente on-line de um

sistema de personalização da Web. Assim, o conteúdo personalizado pode tomar a

forma de recomendações de links ou produtos, anúncios, textos, gráficos, etc., de acordo

com as preferências dos usuários. O servidor da Web guarda as trilhas de sessões além

das navegações feitas pelo usuário através de requisições HTTP, e a máquina de

recomendações considera as sessões de atividades do servidor conjuntamente com os

padrões descobertos para prover conteúdo personalizado [Mobasher et al., 2000a].

Entender as necessidades dos usuários de um site da Web requer o entendimento

de como eles vêem os dados disponíveis e como utilizam atualmente o site. A

recomendação é uma forma de se desenvolver sites personalizados através da utilização

de assistentes de gerenciamento da Web, que são sistemas que podem processar grandes

coleções de dados sobre a utilização do site e recomendar adaptações para o Web

master. Desta forma, tais sites semi-automaticamente melhoram sua organização e 43

Page 53: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

apresentação através do aprendizado dos padrões de acesso de seus visitantes

[Perkowitz & Etzioni, 2000].

Adaptações de um site baseadas em acesso usam as trilhas seguidas pelos seus

visitantes para guiar como ele deverá ser modificado. Informações de acesso (derivadas

dos logs dos servidores Web, por exemplo) podem conter padrões comuns de

comportamento de usuários em um site, a partir dos quais podem ser descobertas

valiosas recomendações a serem utilizadas nas adaptações.

2.4.2.3 – Busca de Informação

A Web Inteligente é especialmente útil no auxílio aos usuários que realizam

buscas na Web, através de métodos de filtragem de informações ou documentos, que

consistem em formalizar uma consulta ou determinar o perfil de interesse do usuário e

então fazer a recuperação da informação sem que o usuário necessite dar início ao

processo. Assim, o sistema de busca inteligente notifica o usuário quando alguma

informação de interesse é encontrada ou quando algo novo é armazenado na Web e

captado por ele.

Métodos de filtragem mais complexos podem adaptar filtros conforme mude o

interesse do usuário e neste caso, métodos automáticos de aprendizagem supervisionada

realizam a modelagem do usuário com o objetivo de entender seu perfil de interesse sem

que o usuário precise manifestá-lo.

A filtragem colaborativa é um caso especial destes métodos de filtragem. Ela é

utilizada para recomendar conteúdos para um usuário com base em feedback fornecido

por outros usuários de forma explícita (críticas) ou implícita (documentos lidos,

baixados, etc.) [Loh & Garin, 2001].

2.5 – Trabalhos Relacionados

Apesar de ser uma área de pesquisa recente, existe uma grande diversidade de

trabalhos em prospecção de dados da Web, abrangendo suas diferentes categorias,

proporcionando a descoberta de uma variedade de funcionalidades.

Dentro do propósito desta dissertação, os esforços dirigidos à prospecção de uso

visando a descoberta e utilização de padrões de acesso à Web, são os que mais se

relacionam com seus objetivos.

Neste limite contextual pode-se citar, dentre diversos outros, os seguintes

trabalhos:

44

Page 54: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

- WebMiner [Mobasher et al., 1996], [Cooley et al., 1997]: o WebMiner

implementa parcialmente uma arquitetura genérica proposta para a mineração

de uso da Web. Seu processo de prospecção de dados foi dividido

originalmente em duas etapas: a primeira incluindo os processos dependentes

do domínio, tais como atividades de limpeza e integração dos dados brutos e a

divisão das entradas dos logs em sessões e transações; e a segunda abarcando

a aplicação de técnicas de prospecção de dados na busca dos padrões de uso.

Posteriormente, a segunda fase foi dividida em outras duas: prospecção de

regras e análise de padrões [Cooley et al., 1999], [Mobasher et al., 2000b].

- WebLogMiner [Zaïane et al., 1998]: o WebLogMiner é uma ferramenta para

descoberta de conhecimento através da prospecção de dados contidos em

arquivos de log do servidor Web, que possui quatro estágios. No primeiro

estágio, os dados são filtrados para a remoção de informações irrelevantes e

um banco de dados relacional é criado contendo os dados significantes

restantes. No segundo estágio, um cubo de dados é construído usando-se as

dimensões disponíveis. Então, é usado OLAP (On-line Analytical Processing)

no terceiro estágio para analisar os dados do cubo. Finalmente, no quarto

estágio, técnicas de prospecção de dados são utilizadas com os dados do cubo

para predição, classificação e descoberta de correlações interessantes sobre o

tráfego na Web e a evolução do comportamento dos usuários ao longo do

tempo e outros tipos de análise de séries temporais.

- WUM [Spiliopoulou & Faulstich, 1998]: o WUM (Web Utilization Miner) é

um sistema que explora a tecnologia de prospecção de dados para a

descoberta de padrões de acesso com interessantes propriedades estatísticas,

prevendo inicialmente os indicadores de importância na navegação do

usuário, indo além de acessos freqüentes a algumas páginas, mas também

suportando especificação subjetiva de um especialista do domínio.

- DS-Web [Ma et al., 2000]: o sistema DS-Web utiliza a Web para auxiliar os

usuários no entendimento de um conjunto de regras descobertas a partir da

prospecção de dados. Primeiramente é encontrado um subconjunto especial

(ou um sumário) das regras que representam os relacionamentos essenciais do

domínio e é construída uma estrutura hierárquica das regras. Em um segundo 45

Page 55: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

passo, esta hierarquia de regras é publicada através de múltiplas páginas Web

utilizando-se hyperlinks. DS-Web não apenas permite que o usuário navegue

pelas regras facilmente, mas também permite a criação de um espaço virtual

onde múltiplos usuários podem compartilhar opiniões sobre as regras, o que

contribui para a compreensão do domínio.

- WebViz [Pitkow & Bharat, 1994]: o sistema WebViz é mais voltado para a

análise de padrões, procurando auxiliar principalmente as tarefas de

visualização, entendimento e interpretação dos padrões obtidos. O WebViz

utiliza um paradigma baseado em percursos ou caminhos da Web (seqüências

de links entre as páginas), pelos quais se extraem, a partir dos logs de

utilização, subseqüências dos padrões de navegações nas páginas com o

propósito de facilitar alterações estruturais e contextuais, resultando em um

uso mais eficiente dos documentos do banco de dados.

- WebPersonalizer System [Mobasher et al., 2000a]: o sistema WebPersonalizer

usa uma arquitetura que provê uma lista de recomendações de links hipertexto

para o usuário durante sua navegação através de um site Web. Atualmente, o

WebPersonalizer utiliza somente dados de uso anônimos providos pelos logs

do servidor Web e a estrutura hipertexto de um site. Os passos de pré-

processamento são usados para converter os logs do servidor em sessões e

então são gerados perfis agregados de utilização que são utilizados para se

fazer recomendações.

46

Page 56: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

3 – Proposta de Trabalho

Neste capítulo será apresentada a estrutura do trabalho, assim como os objetivos,

aplicação prática e resultados esperados. Inicia-se com uma breve apresentação de

alguns processos relacionados à descoberta e gestão do conhecimento no âmbito da Web

Inteligente, sendo em seguida discutida uma metodologia buscando-se a implantação de

otimizações nesses processos, as quais constituem os objetivos específicos deste

trabalho. Ao final é apresentada uma proposta de utilização da arquitetura em uma

ferramenta de apoio à gestão de conhecimento, na forma de uma aplicação back-end

para um portal Web de uma comunidade científica de pesquisa, bem como os resultados

esperados pela utilização desta ferramenta.

3.1 – Engenharia Ontológica

A emergente disciplina de engenharia ontológica tem como principal objetivo

sustentar o desenvolvimento e uso de ontologias ao longo de seu ciclo de vida: projeto,

avaliação, validação, manutenção, desenvolvimento, utilização, integração,

compartilhamento e reutilização.

Construir ontologias é difícil, consome tempo e custo, principalmente porque o

desenvolvimento de ontologias requer consenso em uma comunidade em que os

membros podem ter visões distintas do domínio em consideração.

Tim Berners-Lee – o criador da Web – considera ontologias como uma parte

crítica nos mais recentes trabalhos em direção a Web Inteligente, a qual ele prevê que

permitirá que nossos agentes de software comuniquem entre si para realizar nossas

tarefas.

Na engenharia ontológica não existe pré-classificação de domínios de

problemas e nenhuma caracterização para avaliação e comparação da adequação ou

desempenho das ontologias. É possível ter-se análise teórica de ontologias. Dada a

especificação de uma ontologia, como um conjunto de axiomas em uma linguagem

lógica, podemos caracterizar os modelos dos axiomas da ontologia e compará-los com

os modelos planejados pelo projetista ou usuário.

Por outro lado, existem algumas questões que somente podem ser resolvidas

empiricamente. Uma ontologia pode ter excelentes propriedades formais, mas se elas

47

Page 57: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

não capturam a semântica pretendida pela terminologia do usuário, então a ontologia

tem pouca utilidade prática [Gruninger & Lee, 2002].

Uma ontologia para organizações baseadas em conhecimento fornece termos e

definições de conceitos (entidades, objetos, eventos, processos, objetivos e resultados)

que são julgados importantes na caracterização dessas organizações em um nível

desejável de detalhe. Conceitos e seus relacionamentos são considerados em termos de

axiomas e restrições que podem ser expressos em diversos níveis de formalidade. Entre

aquelas organizações que adotam ontologia, seus termos são usados em questões de

perguntas e respostas, criando afirmações, relatando tendências, descrevendo práticas e

discutindo investigações pertinentes para a administração da gestão de conhecimento.

Desta forma, o comprometimento ontológico é importante pois ele é o acordo

entre múltiplas partes (pessoas e sistemas de software) para adotar uma ontologia

particular quando estas se comunicarem sobre o domínio de interesse, embora elas não

tenham necessariamente as mesmas experiências, teorias ou prescrições sobre o

domínio. Onde falta o compromisso ontológico é difícil conversar claramente sobre o

domínio e beneficiar-se do conhecimento alheio. Assim, o desenvolvimento de uma

ontologia deve ser feito com uma visão direcionada a assegurar que seus usuários

potenciais encontrem caracterizações suficientemente completas, corretas, claras e

concisas.

Pela importância de ontologias na era emergente de organizações baseadas em

conhecimento, é necessário um melhor suporte para seu desenvolvimento. Geralmente,

ontologia é um ramo da filosofia ligado com a ordem e estrutura da realidade e assim,

uma razão típica para se construir uma ontologia é fornecer uma linguagem comum para

compartilhar e reusar conhecimento sobre fenômenos no mundo de interesse.

No desenvolvimento e aplicação de uma ontologia, é importante tornar claras as

seguintes distinções: por um lado, existe a ontologia em si, com conceitos específicos

usados em um domínio. A existência e relacionamentos entre estes conceitos são

verdadeiros por definição ou convenção. Por outro lado, existem fatos empíricos sobre

estes conceitos e relacionamentos. Tais fatos não são parte da ontologia embora sejam

estruturados por ela [Holsapple & Joshi, 2002]. Estes fatos são submetidos ao contexto,

observação e testes, e o engenheiro do domínio deve ser capaz de realizar as

manutenções necessárias na ontologia de acordo com as observações resultantes da

utilização dos fatos por ela estruturados.

Deveríamos ser hábeis a não somente desenvolver e usar aplicações baseadas em

ontologias, mas também realizar testes experimentais para compará-las e avaliá-las 48

Page 58: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

[Gruninger & Lee, 2002]. Os resultados destes testes empíricos, validados teoricamente

pelos engenheiros do domínio, poderiam servir como guia para a manutenção de tais

ontologias, mantendo-se o consenso previsto entre a sua comunidade de uso e assim,

mantendo-as coerentemente válidas, visto sua importância nos processos de gestão de

conhecimento em geral e na Web Inteligente.

3.2 – Conhecimento Personalizado

A Web está provendo um meio de comunicação direta entre os provedores de

produtos/serviços e seus clientes, o que junto com à habilidade de coletar dados

detalhados sobre os cliques dos usuários nos sites provê uma grande oportunidade de

personalizar o conhecimento acessado através da Web. A maioria das abordagens para

personalização acredita na participação de humanos na coleta de informações de perfis

sobre usuários, porém com problemas dos dados dos perfis serem subjetivos, bem como

as preferências dos usuários serem alteradas com o tempo. Assim, tem-se provido um

conjunto de técnicas em que as preferências dos usuários são automaticamente

aprendidas dos dados de uso da Web, utilizando-se técnicas de prospecção de dados,

eliminando a subjetividade e dificuldades nas alterações de perfis [Mobasher et al.,

2000a].

Na Web Inteligente as ontologias podem ser vistas como um passo em direção à

busca de conhecimento personalizado, uma vez que refletem conhecimentos

consensuais de especialistas de um domínio. Outro passo neste direcionamento é a

descoberta de padrões de uso da Web com o objetivo de se prover personalizações

individuais ou de sites em geral para melhor atender às necessidades de seus usuários, o

que se caracteriza como aplicações de recomendações baseadas no uso da Web.

Cada site é eletronicamente administrado por um servidor Web, que registra

todas as atividades que acontecem em um arquivo, o log do servidor Web. A partir deste

arquivo de log, podemos extrair informações que indiretamente refletem a qualidade do

site, através da aplicação de técnicas de prospecção de dados [Spiliopoulou, 2000].

Existem dois tipos de tendências em prospecção de uso da Web: descoberta de padrões

de acessos genéricos e descoberta customizada de uso. A análise de padrões genéricos é

destinada ao entendimento de padrões de acesso e tendências, que podem ser utilizados

para a re-estruturação de sites e melhoria nos agrupamentos de recursos, podendo-se

definir localizações mais efetivas para anúncios e direcionar vendas específicas a

usuários específicos etc. Por outro lado, a descoberta customizada de uso analisa

49

Page 59: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

tendências individuais, propondo-se a customização de sites da Web para os usuários. A

informação mostrada, a estrutura do site e o formato dos recursos podem ser

dinamicamente customizados para cada usuário baseando-se em seus padrões de acesso

[Zaïane, 1999a].

O processo de descoberta de conhecimento é composto por uma série de etapas,

dentre as quais se destaca a prospecção de dados, que tem por objetivo a descoberta de

padrões interessantes em bases de dados, estando dentre eles os padrões de acesso, que

são padrões descritivos das relações entre conjuntos de itens em bancos de dados de

transações da Web. Tais padrões podem ser utilizados na orientação do usuário na tarefa

de descoberta de conhecimento na Web. A utilização de técnicas de prospecção de

dados da Web para a descoberta de padrões de acessos dos usuários possibilita o

desenvolvimento de aplicações voltadas para a Web Inteligente, tornando o processo de

descoberta de conhecimento no amplo repositório de dados da Web mais eficiente e

personalizado.

3.3 – Objetivos

Gestão de Conhecimento pode ser aplicada além do âmbito das organizações,

onde uma comunidade de usuários com interesses em comum usam a Internet como

infraestrutura para disponibilizar seu conhecimento individual, transformando-o em

conhecimento coletivo.

As máquinas de busca globais, tais como Google, AltaVista e Lycos podem

proporcionar uma grande ajuda aos usuários na busca de informação, retornando os

resultados desejados, desde que sejam utilizadas consultas claras e não ambíguas.

Entretanto, os usuários freqüentemente apresentam consultas obscuras e genéricas que

os levam a encontrar determinados sites como ponto de partida. Uma vez estando em

um site, os usuários devem escolher entre seguir hyperlinks ou usar a máquina de busca

do site para conseguir informação mais específica. Devido à baixa eficiência de se

seguir hyperlinks, existe uma grande necessidade de técnicas eficientes para as buscas

nos sites.

A maioria das máquinas de buscas dos sites meramente utiliza o método “full

text search” que recupera uma grande quantidade de documentos contendo as mesmas

palavras utilizadas como entrada pelo usuário. Algumas técnicas utilizadas em buscas

na Web global também são utilizadas em buscas em sites, tais como análise de links e

ranqueamento baseado em cliques, porém não trabalham bem em tais ambientes.

50

Page 60: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Primeiramente as técnicas de análise de links, tais como HITS [Kleinberg, 1998] e

PageHank [Brin & Page, 1998] usam os hyperlinks entre as páginas da Web para

ranqueá-las, considerando que páginas com maior número de referências tenham alta

pontuação no ranqueamento. Entretanto, a informação de links em um site não é

suficiente para refletir a importância da página. Assim as páginas mais importantes de

um site não são necessariamente as páginas mais referenciadas, sendo que

freqüentemente as páginas de entrada do site, páginas de índices e páginas de ajuda são

as mais referenciadas e geralmente não correspondem ao desejo do usuário. Os métodos

baseados em clickthru, tal como DirectHit, são também problemáticos para uso em

sites, pois de acordo com uma consulta em particular, os logs das sessões anteriores para

esta mesma consulta são utilizados para retornar as páginas que a maioria dos usuários

visitou. Para que pudesse resultar em informações estatisticamente significantes, estes

métodos só poderiam ser aplicados a um pequeno conjunto de consultas populares, pois

a falta de sessões de consultas anteriores e a diversidade de padrões de acesso dos

usuários os impediriam de ser aplicados em sites da Web [Xue et al., 2002].

Visto as dificuldades encontradas pelos métodos utilizados nas máquinas de

busca de sites da Web e tendo-se em mente os benefícios futuros provenientes da

personalização, como a habilidade de melhor servir às necessidades dos usuários,

apresentando-lhe o serviço mais apropriado a qualquer momento, o objetivo desta

dissertação é propor uma solução destinada a apoiar a questão de gestão de

conhecimento em um portal Web de domínio específico, procurando otimizar suas

atividades de filtragem e manutenção de informações. Assim, este trabalho visa a

proposta de uma ferramenta baseada na Prospecção de Uso da Web, como um

componente da Web Inteligente intimamente relacionado ao processo de descoberta de

conhecimento, buscando-se a otimização do processo de gestão de conhecimento neste

portal da Web.

A partir de uma determinada necessidade de informação, um usuário visita um

site Web e segue trilhas de navegação guiadas pelas suas preferências e necessidades.

As trilhas percorridas através dos conteúdos/recursos do site são automaticamente

registradas nos arquivos de logs, e estas podem ser preparadas (pré-processadas) e

depois de agrupadas podem ser submetidas a procedimentos de prospecção de dados. Os

resultados destas análises indicarão padrões e tendências que poderão ser considerados

na definição, na estruturação e no agrupamento dos conteúdos e recursos

disponibilizados pelo site Web.

51

Page 61: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Algoritmos tradicionais de prospecção de dados podem ser falhos na descoberta

de padrões devido à grande diversidade de dados no entanto, quando se tem a

possibilidade de utilização de uma taxonomia pré-definida, contendo informações

semânticas sobre o conteúdo do site, juntamente com os seus arquivos de logs de

acesso, pode-se prover grandes melhorias nos resultados das buscas pois se minimizam

as diversidades de acesso, permitindo a descoberta de padrões mais generalizados.

Assim, a solução aqui proposta implica no desenvolvimento de uma ferramenta

tecnológica baseada na metodologia de Prospecção de Uso da Web, envolvendo a

descoberta de conhecimento no âmbito dos arquivos de log provenientes das consultas

realizadas pelos usuários de um portal Web contendo uma taxonomia de domínio,

permitindo a extração de padrões que efetivamente demonstrem as tendências de busca

por informações no portal. Desta forma, mais especificamente, o objetivo deste

trabalho se destina à disponibilização dos padrões de acesso descobertos ao

mecanismo de busca de um portal específico e aos engenheiros do seu domínio, visando

a efetiva descoberta de conhecimento acerca da sua utilização, para que possam

melhor direcionar suas respectivas atividades relacionadas ao processo de gestão de

conhecimento no portal.

3.4 – Aplicação Prática

Com o propósito de demonstrar a funcionalidade e aplicabilidade da solução

proposta para a obtenção de uma ferramenta tecnológica que contribua para o

aperfeiçoamento do processo de gestão de conhecimento em um portal Web, a mesma

será instanciada em uma aplicação prática destinada a prover conhecimentos para os

engenheiros do domínio e para o mecanismo de busca do portal Web de uma

comunidade científica de pesquisa, no qual foi incorporada uma ontologia que

representa uma taxonomia utilizada para guiar buscas não convencionais no domínio do

portal.

Trata-se de uma comunidade formada em torno do Consórcio Brasileiro de

Pesquisa e Desenvolvimento do Café (CBP&D/Café1). O CBP&D/Café é uma

congregação de instituições de pesquisa e desenvolvimento que têm por objetivo dar

sustentação tecnológica ao agronegócio do café no Brasil. Foi criado em março de 1997

1 Programa coordenado pelo Consórcio Brasileiro de Pesquisa e Desenvolvimento do Café

(CBP&D/Café). O consórcio é formado por cerca de 40 instituições, entre elas universidades, fundações,

institutos, centros de pesquisa e empresas espalhadas por todo o território nacional.

52

Page 62: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

por dez instituições brasileiras de P&D do café (EBDA, EMBRAPA, INCAPER,

EPAMIG, IAC, IAPAR, PESAGRO-RIO, MA/SARC, UFLA e UFV), tendo a Embrapa

como instituição coordenadora. O preceito orientador da criação do Consórcio é o do

somatório de recursos humanos, laboratoriais, físicos e financeiros das instituições, com

vista à concepção e execução de atividades de P&D em todas as áreas da cadeia

produtiva do café e na abrangência dos principais estados produtores. A finalidade do

Consórcio é desenvolver estudos, pesquisas e atividades de desenvolvimento capazes de

dar sustentação tecnológica e econômica ao agronegócio do café, por meio da

integração das instituições de P&D e todos os demais componentes do setor cafeeiro, no

sentido de expandir e consolidar a capacidade de identificação de problemas e geração

de alternativas tecnológicas. Atualmente, as atividades de P&D são desenvolvidas por

40 instituições brasileiras, abrangendo doze estados produtores.

O acesso ao conhecimento é condição básica ao desenvolvimento científico e

tecnológico. Um pesquisador necessita saber o que está sendo pesquisado ou

desenvolvido em sua especialidade, quais são os especialistas da área, etc. O

conhecimento adquirido através das pesquisas precisa ser disseminado para que possa se

multiplicar e trazer benefícios para toda a sociedade. Desta forma pretende-se, tanto

mostrar a aplicabilidade prática da ferramenta proposta, quanto contribuir para uma

melhor difusão do conhecimento numa área estratégica para a economia brasileira.

O portal Internet desta comunidade de pesquisa, o SBICafé, cuja interface

principal pode ser visualizada na Figura 3.1, se encontra disponível e conta atualmente

com a Biblioteca Virtual do Café, além de informações sobre projetos de pesquisa

desenvolvidos e em andamento nas instituições participantes do CNP&D-Café e

informações de eventos (congressos, simpósios, palestras, treinamentos etc.)

patrocinados pelas instituições.

53

Page 63: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Figura 3.1: Tela principal do Portal SBICafé.

O SBICafé foi desenvolvido e disponibilizado com o intuito de propiciar um

ambiente adequado para testes comparativos entre a abordagem convencional de busca

de informações usando casamento de padrões com a abordagem baseada em uma

ontologia de domínio.

Assim, em um projeto anterior realizado por [Pontes, 2002] foi incorporada uma

ontologia a este portal, representando um mapa do conhecimento a ser utilizado pela

comunidade envolvida, com a finalidade de aprimorar a funcionalidade do portal Web.

Neste caso, a ontologia é representada por um vocabulário de termos e relacionamentos

entre eles, sendo designada como um tesauro, e proporciona benefícios ao processo de

busca de informação, por ser este baseado em semântica, estendendo a busca

convencional baseada em casamento de padrões.

Este trabalho de destina à continuidade do projeto de [Pontes, 2002], buscando a

utilização de técnicas de prospecção de dados para auxiliar a manutenção da ontologia

utilizada no SBICafé, bem como a obtenção de padrões de acesso ao mecanismo de

busca da Biblioteca Virtual do Café, visando-se analisar indícios de otimizações nestes

serviços.

54

Page 64: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

O tesauro utilizado pelo SBICafé é intitulado AgroVoc, sendo um tesauro

multilíngua para o domínio agrícola desenvolvido e mantido pela FAO2 (Food and

Agriculture Organization of the United Nations) através do WAICENT3 (World

Agricultural Information Center).

Um tesauro pode ser considerado um tipo simples de ontologia e a sua aplicação

na era da informação digital pode trazer muitos benefícios, procurando categorizar

termos (assuntos) usando uma variedade de relações simples, sendo as principais:

- Termo Genérico (Broader Term – BT): um termo ou conceito particular é

mais genérico que um outro.

- Termo Específico (Narrower Term – NT): um termo ou conceito particular é

mais específico que um outro.

- Termo Relacionado (Related Term – RT): dois termos ou conceitos são

associados.

- Use para (Use For – UF): um termo ou conceito particular é preferível dentre

outros termos sinônimos.

As relações BT, NT dão origem a taxonomias (organizando termos em

categorias hierárquicas). As relações do tipo RT englobam uma grande variedade de

relações cuja semântica não é definida de forma precisa dentro do tesauro. As relações

UF são tipicamente relações de sinonímia entre termos.

A versão do AgroVoc analisada contém 133.226 termos em 5 idiomas – Inglês,

Espanhol, Francês, Português e Alemão. O princípio adotado pelo AgroVoc é de que

cada termo deve possuir um equivalente em cada um dos idiomas suportados. A

abrangência do AgroVoc engloba todo o domínio agrícola – plantas, animais, sistemas

de produção, agroindústria etc. As relações existentes entre os termos são basicamente

as mesmas encontradas em qualquer tesauro e descritas acima. No total são 96.992

relações estabelecidas entre os termos [Pontes, 2002].

2 http://www.fao.org/ 3 http://www.fao.org/waicent/

55

Page 65: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Após a introdução do uso do tesauro, o SBICafé passou a disponibilizar três

categorias de consultas através da Biblioteca Virtual do Café:

- Consulta Convencional

A Consulta Convencional proporciona as mesmas funcionalidades geralmente

encontradas nos mecanismos de busca textual na Web. Esta opção de consulta faz uso

do mecanismo de busca Microsoft Full Text Search para retornar os resultados assim

como o ranking de relevância dos itens retornados em relação à expressão de consulta.

São três as opções para a busca:

- Busca Lógica: o usuário fornece uma expressão de consulta que pode conter

os operadores AND, OR, NOT e NEAR. A precedência dos operadores na

expressão pode ser fixada com o uso de parêntesis. Caso o usuário forneça

uma seqüência de palavras (sem operador algum) o operador AND deverá ser

automaticamente incorporado. O usuário pode delimitar total ou

parcialmente a expressão com aspas duplas (“”), neste caso a sub-expressão

delimitada deverá ser considerada como frase exata.

- Texto Livre: o usuário fornece uma frase que é repassada diretamente para o

mecanismo de busca que aplica heurísticas para retornar os resultados com

base no significado geral da frase.

- Frase Exata: o usuário fornece uma seqüência de palavras que deve aparecer

na forma exata no conjunto de resultados. Esta opção tem o mesmo efeito do

uso de aspas duplas delimitando totalmente a expressão de consulta na opção

de Busca Lógica.

-

Após fornecer a expressão de consulta e a opção de busca, o usuário pode

selecionar um determinado item na interface contendo os resultados da consulta para ver

os seus detalhes que incluem resumo, autores e outras informações. A partir da interface

de apresentação de detalhes o usuário pode acessar o conteúdo completo do item.

- Consulta Guiada

Esta categoria de consulta foi projetada para uso mais específico por

especialistas do domínio, que ao informar um termo para busca, têm a oportunidade de

selecionar outros termos relacionados que são disponibilizados na interface a fim de

visualizar a sua árvore de relações, as quais são as relações definidas pela ontologia.

Assim, o usuário pode “navegar” na árvore de relações clicando no ícone 56

Page 66: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

correspondente a cada termo. Esta ação tem o efeito de posicionar o respectivo termo na

raiz da árvore, exibindo assim uma nova árvore.

Ao “navegar” na árvore de relações, o usuário pode visualizar os detalhes de um

determinado conceito da árvore, que são compostos do status, idioma usado, escopo,

notas, e da tradução do conceito para os outros idiomas. Neste ponto o usuário pode

clicar sobre o conceito em um outro idioma, e assim alterar o idioma em uso pelo

sistema. Outra possibilidade é clicar no ícone que representa os itens de conhecimento,

no respectivo idioma, associados ao conceito. O resultado é a exibição dos itens, no

respectivo idioma, relacionados ao conceito.

– Consulta Cooperativa

A Consulta Cooperativa procura tirar proveito de vantagens oferecidas

isoladamente pelas duas opções de consulta apresentadas anteriormente (Consulta

Convencional e Guiada pela Ontologia), além de oferecer um grau muito maior de

cooperatividade com o usuário durante uma seção de consulta.

Assim como na Consulta Convencional, o usuário pode fornecer uma expressão

de consulta usando qualquer combinação válida dos operadores AND, OR, NOT, e

NEAR. A expressão fornecida é submetida a um processo de validação (parsing) no

qual as noise-words (palavras muito comuns como preposições, artigos etc.) são

retiradas e a expressão é convertida para a sintaxe do mecanismo de busca. Caso o

usuário forneça uma seqüência de palavras sem nenhum operador lógico, o operador

AND é automaticamente adicionado. A Figura 3.2 mostra a tela principal da opção de

Consulta Cooperativa onde o usuário seleciona o idioma a ser usado e fornece a

expressão de consulta.

57

Page 67: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Expressão de consulta analisada e

convertida.

Clicar para visualizar itens retornados

pela consulta inicial.

Para cada palavra pode-se selecionar o

termo da ontologia que melhor a

caracteriza.

Clicar para visualizar relações

envolvendo os termos selecionados.

Figura 3.2: Consulta Cooperativa.

O resultado da consulta é exibido na seção inferior esquerda da tela como pode

ser visto na Figura 3.2. Neste momento o usuário é informado sobre o número de itens

retornados e pode visualizá-los. Ao mesmo tempo, a expressão de consulta tem suas

palavras extraídas, e para cada palavra é feita uma consulta na ontologia a fim de

identificar os termos que o usuário tenha tentado representar usando a palavra-chave.

Como resultado é exibida, para cada palavra, uma lista de termos para a avaliação e

seleção por parte do usuário. A Figura 3.3 mostra o resultado da seleção do usuário

referente a consulta apresentada na figura anterior. O sistema exibe na seção central da

tela o mapeamento de cada palavra para o termo selecionado, assim como as relações

nas quais cada termo está envolvido de acordo com a ontologia.

58

Page 68: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Mapeamento da palavra para o termo “BALANÇO

HÍDRICO”.

Clicar para visualizar itens

relacionados ao termo.

Selecionar ou não Para expansão da consulta inicial.

Clicar para expandir a consulta

inicial com os termos selecionados e

executa-la.

Figura 3.3: Mapeamento de Palavras da Consulta para Termos da Ontologia.

Neste ponto o usuário tem a chance de ver todos os termos relacionados na

ontologia a cada termo resultante do mapeamento de cada palavra da consulta inicial e

selecionar aqueles que são adequados para a expansão da consulta. Aqueles termos que

possuem itens de conhecimento associados são exibidos pré-selecionados para a

avaliação do usuário que tem a chance de desmarcá-los caso sejam julgados não

significativos para a consulta. Não faz sentido a seleção de termos que não possuam

itens de conhecimento associados, mesmo que estes termos sejam significativos para a

consulta, visto que a expansão da consulta com os mesmos não traz nenhum efeito ou

benefício (como a melhoria da precisão ou cobertura da consulta). Neste momento o

usuário também pode visualizar os itens de conhecimento associados a um dado termo e

em seguida acessar os detalhes e o conteúdo dos itens. Para tanto basta clicar sobre o

número à direita do termo, que representa os itens de conhecimento associados.

A Figura 3.4 mostra a tela exibida a partir da seleção dos 25 itens de

conhecimento associados ao termo “EVAPOTRANSPIRAÇÃO” na figura acima.

59

Page 69: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Figura 3.4: Itens de Conhecimento Associados ao Termo da Ontologia.

Após avaliar os termos apresentados na seção central da tela (Figura 3.3) e

manter selecionados aqueles que foram julgados significativos para a consulta, o usuário

pode, clicando no botão Ok, solicitar a expansão da consulta a partir dos termos

selecionados. Para cada termo que foi identificado na ontologia para representar uma

palavra da expressão de consulta, os termos relacionados são adicionados através de

uma disjunção (operador OR) com a respectiva palavra usada na expressão de consulta.

Para o caso da Figura 3.3, a expansão foi a seguinte:

balanco AND hidrico

(balanco OR “evapotranspiracao” OR “agua” OR “murcha” OR “transpiracao”)

AND hidrico

O sistema executa a consulta expandida e exibe os resultados na seção inferior

direita da tela da Figura 3.5. Neste momento o usuário é informado sobre o número de

itens retornados pela nova consulta, assim como o número de itens adicionais, que não

foram retornados pela consulta inicial (antes da expansão), os quais representam o

ganho de cobertura da busca com o uso do tesauro [Pontes, 2002]. 60

Page 70: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Consulta

expandida.

Total de itens retornados.

Total de itens adicionais

retornados.

Clicar para visualizar todos os itens

retornados ou somente os itens

adicionais.

Figura 3.5: Resultado da Expansão da Consulta usando os Termos Selecionados.

A proposta de uma ferramenta tecnológica de apoio à gestão de conhecimento

no Portal SBICafé, a qual corresponde a uma aplicação que instancia o objetivo

específico desta dissertação, se baseia na análise dos registros de utilização da sua

máquina de busca com a finalidade de extrair conhecimento útil para os engenheiros

do domínio que mantêm a ontologia e para o próprio mecanismo de busca restrito ao

âmbito do portal, visando a personalização das relações com os seus visitantes e

favorecendo diretamente as atividades de gestão de conhecimento neste domínio.

Busca-se então, coletar os registros de navegação dos usuários através dos

documentos disponibilizados a partir de uma pesquisa feita ao mecanismo de busca da

Biblioteca Virtual do Café, bem como os registros de palavras-chave utilizadas, as

consultas expandidas pela utilização da ontologia, os respectivos documentos

resultantes e os documentos acessados pelos usuários. A partir de tais coleções de

dados, será feita a aplicação de um algoritmo de prospecção de dados que revele os

padrões de uso do mecanismo de busca do portal.

Para se realizar a proposta acima, dentre as possibilidades de buscas de

informações disponibilizadas pela Biblioteca Virtual do Café, será utilizada a categoria

61

Page 71: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Consulta Cooperativa, por ser esta uma modalidade que utiliza a ontologia incorporada

ao portal, provendo significado semântico às palavras-chaves introduzidas pelos

usuários, o que não ocorre na categoria de Busca Tradicional, além de não ser

direcionada a especialistas do domínio, o que ocorre na categoria de Busca Guiada pelo

Tesauro. Assim, esta categoria de busca, dentre as demais modalidades disponibilizadas

pelo portal, é a que apresenta características que mais se aproximam das expectativas

relacionadas à otimização de buscas nos portais da Web Inteligente. Após a prospecção

dos dados, deve-se gerar conhecimento útil para o mecanismo de busca –

disponibilizados para o re-ranqueamento mais apropriado dos resultados e outras

funções de personalização do portal - e para os engenheiros do domínio - com o

objetivo de prover-lhes o conhecimento necessário para a realização das manutenções

necessárias na ontologia, de acordo com as observações resultantes da utilização dos

fatos por ela estruturados. Assim, este trabalho apresenta uma ferramenta útil destinada

à descoberta e manutenção de padrões de acessos dos usuários do portal, podendo ser

aplicada no apoio à gestão de conhecimento deste domínio, buscando a otimização dos

processos de aquisição, manutenção e acesso às informações disponibilizadas.

Em um âmbito mais específico, a ferramenta proposta se caracteriza como uma

aplicação back-end, sendo composta por um processo off-line no qual são realizados o

processamento e armazenamento dos padrões de acesso dos usuários ao mecanismo de

busca da Biblioteca Virtual do Café, e um processo on-line onde os padrões gerados

serão utilizados. O processo on-line é subdividido em dois subprocessos representados

por: uma aplicação voltada para a manutenção semi-automática da ontologia

incorporada ao portal, através de conhecimentos fornecidos aos engenheiros do

domínio, e uma aplicação on-line automática, visando a disponibilização do

conhecimento necessário ao aprimoramento do mecanismo de busca, para que a partir

da utilização dos padrões encontrados, possa realizar um re-ranqueamento eficiente das

informações a serem disponibilizadas ao usuário, apresentando-lhes conteúdos mais

personalizados.

Tendo-se em vista estas considerações e os objetivos propostos, foi desenvolvido

um protótipo para dar suporte às funcionalidades previstas para a ferramenta destinada

ao portal, as quais podem ser visualizadas nos processos e fluxos destacados na Figura

3.6.

62

Page 72: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Resultados

Mecanismo de Consulta

Cooperativa

Palavra-Chave Re-ranqueamento

On-line Resultados Acessados

Usuário do

Portal Conhecimento (padrão) para

re-ranqueamento do

resultado Dados de Buscas

Arquivos de Logs

de Buscas

Prospecção dos Padrões de Consultas

Cooperativas Pré-Processamento Base de

Padrões de Acessos

à Consultas Cooperativas Informações

Consultas

Cooperativas Histórico das Consultas

Cooperativas

Parâmetros para Prospecção

Aplicação

de Apoio à Manutenção

da Ontologia

Dados de Pesquisa

Conhecimento

para Manutenção da Ontologia Padrões de Acesso

Engenheiros

do Domínio

Histórico de Consultas Cooperativas

Figura 3.6: Funcionalidades da Ferramenta Proposta.

63

Page 73: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

A prospecção de uso da Web envolve questões de pré-processamento de dados

antes de se aplicar algoritmos de prospecção, além de serem necessárias o

desenvolvimento de técnicas e ferramentas para a análise dos padrões descobertos.

Seguindo-se as etapas citadas, as seguintes atividades devem ser executadas:

1) Obtenção e Pré-processamento (ou preparação) dos dados

Todas as interações do usuário com a máquina de busca da Biblioteca

Virtual do Café são registradas, mantendo-se o histórico de todas as buscas

realizadas no portal. Deve-se identificar o comportamento dos usuários em

relação às escolhas feitas por ele, sem que este o perceba, atualizando sua

base de conhecimento sobre o estereótipo correspondente. Nesta etapa, deve-

se realizar a leitura, filtragem e limpeza dos arquivos de log de busca do

portal, resultando nas sessões e transações úteis ao propósito da ferramenta.

Atualmente os logs de buscas realizadas no portal são compostos pelas

seguintes tabelas relacionais:

- Tabela Acesso

Esta tabela contém os acessos com status indicando não ocorrência de

qualquer tipo de falha.

Atributo Descrição IDAcesso Identificação única dos acessos feitos ao Portal SBICafé.

Este campo é composto pela concatenação do campo DataHora e SessionID.

DataHora Data e hora do acesso. SessionID Identificação única de um acesso de um usuário ao

SBICafé. IP Endereço IP do usuário. Browser Descrição do Browser Utilizado pelo usuário para acessar

o SBICafé. EmailPessoa E-mail do usuário, caso ele tenha informado este dado ao

se cadastrar no SBICafé. NomePessoa Nome do usuário, caso ele tenha informado este dado ao se

cadastrar no SBICafé.

Tabela 3.1: Estrutura da Tabela Acesso.

64

Page 74: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

- Tabela Consulta

Nesta tabela estão apenas as consultas com status indicando a não ocorrência

de qualquer tipo de falha.

Atributo Descrição IDConsulta Identificador único de cada consulta realizada na

Biblioteca Virtual do Café. Cada registro da tabela Consulta possui um IDConsulta diferenciado,

IDAcesso Identificador do Acesso ao qual pertence cada consulta, sendo chave estrangeira relativa à tabela Acesso.

TipoConsulta Identificador do tipo de consulta sendo realizada em cada IDConsulta. Os valores que fazem parte do domínio deste campo podem ser visualizados na Tabela 3.4.

Chave Palavra-chave utilizada pelo usuário ao se executar uma consulta na Biblioteca Virtual do Café, ou a expressão representando a expansão da consulta, caso o usuário utilize este recurso.

NumRetorno Número representando a quantidade de resultados retornados pelo mecanismo de busca da Biblioteca Virtual do Café em resposta à busca realizada.

CodRetorno Conjunto de códigos das publicações retornadas pelo mecanismo de busca da Biblioteca Virtual do Café, sendo chave-estrangeira relativa à tabela Publicação que é exibida na Tabela 3.3.

Tabela 3.2: Estrutura da Tabela Consulta.

65

Page 75: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

- Tabela Publicação

Além das tabelas citadas anteriormente, mantém-se uma tabela dos

documentos disponíveis, com toda a sua especificação.

Atributo Descrição CodPublicacao Identificação única de cada documento disponível no

SBICafé. CodTipoPublicacao Descreve o tipo de documento, podendo variar entre

artigo, dissertação de mestrado, etc. CodNucleo Descreve o núcleo de pesquisa do qual se originou o

documento. CodInstituicao Descreve a instituição da qual se originou o documento. CodEvento Descreve o evento para o qual o documento foi

elaborado. NumProjeto Descreve o projeto do qual o documento foi oriundo. AnoPublicacao Descreve o ano de publicação do documento. TemResumo Indica se o resumo do documento está disponível. TemConteudo Indica se o conteúdo do documento está disponível. TituloP Descreve o título do documento em português. AssuntoP Descreve o assunto tratado pelo documento em

português. ResumoP Descreve o resumo do documento em português. TituloI Descreve o título do documento em inglês. AssuntoI Descreve o assunto tratado pelo documento em inglês. ResumoI Descreve o resumo do documento em inglês. Referencia Descreve a referência bibliográfica do documento. DataCatalogacao Descreve a data em que o documento foi catalogado no

SBICafé. TituloSA Descreve o título do documento sem acentuação. AssuntoSA Descreve o assunto tratado pelo documento sem o uso de

acentuação. ResumoSA Descreve o resumo do documento sem acentuação. ReferenciaSA Descreve a referência bibliográfica do documento sem

acentuação.

Tabela 3.3: Estrutura da Tabela Publicação.

66

Page 76: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Na Tabela 3.4 pode-se visualizar o domínio de valores possíveis para o campo

TipoConsulta da Tabela Consulta.

TipoConsulta Descrição

Autor Palavra-chave usada na busca por autor (Busca Convencional).

PubAutor Código do Autor usado na busca por Autor (Busca Convencional).

PalChave/BL Busca Lógica com Palavra-chave (Busca Convencional).

PalChave/FE Busca Frase Exata com Palavra-chave (Busca Convencional).

PalChave/TL Busca Livre com Palavra-chave (Busca Convencional).

ConsGuida/EN Busca Guiada com Palavra-chave em Inglês (Busca Guiada).

ConsGuida/ES Busca Guiada com Palavra-chave em Espanhol (Busca Guiada).

ConsGuida/PT Busca Guiada com Palavra-chave em Português (Busca Guiada).

ConsGuida/ArvoreTermo Escolha da consulta com a própria palavra-chave da busca, clicando no número que a segue (Busca Guiada).

ArvoreTermo Opções apresentadas na árvore de termos relacionadas com palavra-chave da busca (Busca Guiada).

DocsTermo Documentos apresentados ao se escolher uma opção desejada.

DetalheTermo Escolha feita nos detalhes do termo relacionado (em qualquer idioma apresentado) escolhido na árvore de termos (Busca Guiada).

ConsCoop/EN Busca Lógica com palavra-chave em Inglês (Busca Cooperativa).

ConsCoop/ES Busca Lógica com palavra-chave em Espanhol (Busca Cooperativa).

ConsCoop/PT Busca Lógica com palavra-chave em Português (Busca Cooperativa).

ConsCoop_Expandida Busca Lógica Expandida (Busca Cooperativa Aprimorada).

ConsCoop_VerExpansão Resultados da Busca Lógica Cooperativa Expandida e não Expandida (Busca Cooperativa Aprimorada).

ConsCoop_VerAdicional Resultados somente da Busca Lógica Cooperativa Expandida (Busca Cooperativa Aprimorada).

ConsCoop_VerInicial Resultados da Busca Lógica Cooperativa não Expandida (Busca Cooperativa Aprimorada).

PubResumo Código do documento acessado em qualquer busca. Ultimas Últimos documentos catalogados.

67

Tabela 3.4: Domínio dos Valores Relacionados ao Campo TipoConsulta da

Tabela Consulta.

Page 77: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Os relacionamentos entre as tabelas do log de buscas podem ser melhor

visualizados na Figura 3.7:

IDConsulta

CodPublicacao

IDAcesso

0..N 1..1

0..N 0..N 0..N

1..N acessa

retorna Publicacao

Consulta Acesso tem

Figura 3.7: Relacionamentos entre as Tabelas do Log de Busca.

- Limpeza dos Dados

Uma entrada no log de busca do portal inclui os dados destinados à tabela

Acesso e à tabela Consulta, cujas amostras de registros podem ser

visualizadas nas Tabelas 3.5 e 3.6:

IDAcesso DataHora SessionID IP Browser EmailPessoa Nome

Pessoa

27/6/2002

14:53:41

#676635466

27/06/2002

14:53:41

676635466 200.17.79.42 Mozilla/4.0

(compatible;

MSIE 5.0;

Windows 98;

DigExt)

agn_alves

@yahoo.com

Agnaldo Alves

dos Santos

27/6/2002 14:18:20

#413013601

27/06/2002

14:18:20

413013601 200.18.136.59 Mozilla/4.0

(compatible;

MSIE 5.01;

Windows NT

5.0)

[email protected] Flavio

Vieira

Pontes

Tabela 3.5: Amostra da Tabela Acesso.

68

Page 78: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

ID

Consulta IDAcesso TipoConsulta Chave

Num

Retorno CodRetorno

7680 27/6/2002

14:18:20

#413013601

PalChave/FE adubacao verde 19 155585_Art343 155984 25526_Art138

Art000029

...

7681 27/6/2002

14:53:41

#676635466

temperatura 261 Art000048 155585_Art080

155585_Art118 155537_Art048

...

7682 27/6/2002

14:18:20

#413013601

Ultimas 50 50 F0021 F0019 F0018 F0013 F0012

RBA_Art033

...

7683 27/6/2002

14:18:20

#413013601

ConsCoop/PT irrigacao 201 ...

7684 27/6/2002

14:18:20

#413013601

ConsCoop_VerInicial irrigacao 201 145933 155552 155585_Art070

103079 155537_Art209

...

7685 27/6/2002

14:18:20

#413013601

PubResumo 155552 1 155552

7686 27/6/2002

14:18:20

#413013601

DocsTermo FERTIRRIGACAO 44 155553 155556 155537_Art233

155552_Art13 155537_Art223

...

7687 27/6/2002

14:18:20

#413013601

DocsTermo FERTIRRIGACAO 44 155553 155556 155537_Art233

155552_Art13 155537_Art223

...

7688 27/6/2002

14:18:20

#413013601

PubResumo 155552 1 155552

7689 27/6/2002

14:18:20

#413013601

PubResumo 155556 1 155556

7690 27/6/2002

14:18:20

#413013601

ConsCoop_Expandida irrigacao 19 ...

7691 27/6/2002

14:18:20

#413013601

ConsCoop/PT irrigacao 201 ...

7692 27/6/2002

14:18:20

#413013601

ConsCoop_Expandida irrigacao 19 ...

7693 27/6/2002

14:18:20

#413013601

ConsCoop_Expandida (irrigacao OR

"FERTIRRIGACAO

" OR "REGA" OR

"AGUA")

20 ...

Tabela 3.6: Amostra da Tabela Consulta.

69

Page 79: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

A eliminação de dados irrelevantes pode ser feita analisando-se o campo

TipoConsulta da tabela Consulta. Assim, as entradas na tabela Consulta que

não sejam relacionadas ao fluxo de execução de uma busca do tipo Consulta

Cooperativa na qual tenha se utilizado as relações do tesauro devem ser

removidas obtendo-se um histórico destas interações para serem utilizadas na

etapa de identificação de sessões e transações.

- Identificação dos usuários

A identificação do usuário é automática a partir do campo IDAcesso da

tabela Acesso, no entanto, para os propósitos da ferramenta, esta

identificação não é relevante.

- Identificação das sessões e transações

Deve ser considerada uma sessão, cada interação do usuário com o

mecanismo de busca da Biblioteca Virtual do Café, quando acessando a

categoria Consulta Cooperativa a partir de uma determinada palavra-chave

e utilizando o tesauro para expansão da consulta.

O processo de identificação de transações envolve o agrupamento dos

documentos acessados em cada sessão, criando uma seqüência de

documentos acessados em uma Consulta Cooperativa por uma determinada

palavra-chave e que tiveram uma determinada expansão.

Ao final do processo de identificação de sessões e transações, deve ser

gerado um conjunto composto por registros referentes a cada consulta

considerada, contendo o idioma utilizado na consulta, a palavra-chave, a

chave-expandida pelo tesauro e a seqüência ordenada de documentos

acessados, o qual servirá como entrada para a fase de descoberta de

padrões.

2) Descoberta dos padrões de acesso

A aplicação dos padrões de acesso descobertos é direcionada aos

engenheiros do domínio de conhecimento do portal e ao mecanismo de busca,

possibilitando a manutenção da ontologia incorporada ao portal e o

aprimoramento da efetividade das informações oferecidas aos usuários, ou

seja, apoiando o processo de gestão de conhecimento no portal. É nesta etapa

que são efetivamente aplicados os métodos e algoritmos de prospecção de 70

Page 80: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

dados em busca de padrões úteis e significativos, utilizando-se a técnica de

prospecção de uso da Web estabelecida para o fim específico de descoberta de

padrões de acesso ao mecanismo de busca do portal. No entanto, uma das

mais difíceis tarefas em prospecção de dados é a determinação de qual dos

algoritmos disponíveis é mais adequado à solução de um determinado

problema [Wu, 2002].

Após o detalhamento das funcionalidades da ferramenta proposta, foram

estudadas diversas técnicas de prospecção de dados, na tentativa de se

identificar abordagens previstas para problemas similares. Assim, dentre as

técnicas de prospecção de dados, a prospecção de regras de associação foi,

inicialmente, a que mais se identificou com a solução desejada e foram

estudados diversos de seus algoritmos, apresentados no Apêndice A, na

tentativa de se conseguir uma adaptação viável para os propósitos previstos.

No entanto, como as abordagens desta técnica não consideram a ordem

original dos itens nas transações, o que é de essencial importância para a

funcionalidade de otimização das buscas no portal, nenhuma das tentativas de

adaptação se mostrou satisfatória. A outra técnica analisada foi prospecção de

padrões seqüenciais, a qual se mostrou adequada para se atingir as

funcionalidades propostas para a ferramenta. Desta forma, alguns algoritmos

desta técnica, apresentados no Apêndice A, foram estudados até que a

abordagem a ser utilizada para a resolução foi caracterizada como uma de

suas instâncias, especificamente voltada para a Prospecção de Padrões de

Acesso.

Essencialmente, um padrão de acesso Web, é um padrão seqüencial em

um grande conjunto de partes de logs da Web. Prospecção de padrões

seqüenciais, que é a descoberta de padrões freqüentes em bancos de dados de

seqüências, foi introduzida por [Agrawal & Srikant, 1995] como se segue:

dado um banco de dados composto por seqüências, onde cada seqüência é

uma lista de transações ordenadas pelo momento da transação e cada

transação consistindo de um conjunto de itens, o problema é encontrar todos

os padrões seqüenciais com um suporte mínimo especificado pelo usuário,

onde o suporte é o número de seqüências de dados que contém o padrão.

[Srikant & Agrawal, 1996] apresentaram um algoritmo destinado à descoberta

de padrões seqüenciais generalizados, denominado GSP. Tal algoritmo faz a

prospecção de padrões seqüenciais por múltiplas vezes inspecionar o banco de 71

Page 81: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

dados de seqüências. Na primeira inspeção, ele encontra todos os 1-itens e

forma um conjunto de seqüências freqüentes de 1-elemento. Nas próximas

inspeções, ele gera seqüências candidatas a partir do conjunto de seqüências

freqüentes e testam seus suportes. Assim, como todos os algoritmos baseados

na abordagem Apriori, ele utiliza o método de geração e teste.

Algumas pesquisas tentam utilizar técnicas de prospecção de padrões

seqüenciais [Agrawal & Srikant, 1995], as quais são na maioria baseadas em

prospecção de regras de associação [Agrawal & Srikant, 1994], para descobrir

padrões de acesso a partir de logs da Web. Como o GSP, os demais resultados

desses esforços, são algoritmos baseados na heurística Apriori, a qual se

caracteriza pela necessidade de múltiplas inspeções na base de dados e,

portanto, quando o tamanho das seqüências aumenta e/ou o conjunto de dados

são grandes, tal abordagem encontra dificuldades. Assim, como este trabalho

se dedica à utilização da Prospecção de Uso da Web como uma técnica de

otimização de determinados serviços em um portal Web, é esperado que a

base de dados a ser utilizada possa ter um crescimento substancial, o que

indicou ser inviável o uso de tais algoritmos na tentativa de se alcançar os

objetivos propostos.

Desta forma, após a realização de outras pesquisas, foi localizado o

algoritmo WAP-mine [Pei et al., 2000], que se mostrou mais adequado ao

problema proposto e portanto, tornou-se o algoritmo escolhido para a sua

resolução. O algoritmo WAP-mine retorna o conjunto completo de padrões de

acesso sem redundância, apresentando vantagens significativas comparado

àqueles baseados em Apriori, sendo resultante de investigações sobre a

questão relacionada à prospecção eficiente de acessos de grandes conjuntos de

partes de logs da Web.

No geral, um log Web pode ser considerado como uma seqüência de

pares de identificadores de usuários e eventos. Na pesquisa de [Pei et al.,

2000], arquivos de log Web são divididos em partes para o propósito de

prospecção. Tarefas de pré-processamento podem ser aplicadas aos arquivos

de log Web originais, de forma que porções dos logs Web possam ser obtidas.

Cada porção de um de log Web é uma seqüência de eventos de um usuário ou

sessão em ordem ascendente de timestamp, isto é, eventos acontecidos

primeiro, vêm primeiro.

72

Page 82: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Tomando-se E como sendo um conjunto de eventos, uma porção de log

Web ou seqüência de acesso S= e1 e2 ... en (ei E) para 1≤ i≤ n é uma

seqüência de acesso, enquanto n representa o tamanho desta seqüência. Uma

seqüência de acesso com tamanho n é também chamada de uma n-seqüência.

Não é necessário que e

i ≠ ej para i ≠ j em uma seqüência de acesso, ou seja,

repetições são permitidas. Por exemplo, aab e ab são duas seqüências de

acesso diferentes, em que a e b são dois eventos.

A seqüência S´= e´1 e´2 ... e´x é chamada de uma subseqüência da

seqüência S = e1 e2 ... en , e S uma superseqüência de S´, denotado como S´⊆

S, se e somente se, existe 1≤ i1 < i2 < ... < ix ≤ n, tal que , para

i≤ j≤ x. A seqüência de acesso S´ é uma subseqüência própria da seqüência S,

denotado como S´ ⊂ S, se e somente se S´ é uma subseqüência de S e S´ ≠ S.

jij ee =´

Em uma seqüência de acesso S= e1 e2... ek ek+1... en, se a subseqüência

Ssuffix = ek+1... en é uma superseqüência do padrão P = e´1 e´2... e´x e ek+1 = e´1,

a subseqüência de S, Sprefix = e1 e2... ek é denominado prefixo de S em relação

a P.

Dado um conjunto de seqüências de acesso WAS = { S1, S2, ... , Sm}, o

suporte de uma seqüência de acesso S em WAS é definido como supWAS(S) =

mSSS ii |}|{| ⊆

. Uma seqüência S é dita um ξ-padrão ou simplesmente um

padrão de acesso Web em WAS, se supWAS (S) ≥ . Embora eventos possam se

repetir em uma seqüência de acesso, seu suporte é no máximo uma vez

contabilizado nesta seqüência ou padrão.

ξ

O problema de prospecção de padrões de acesso pode ser assim

definido: dado um banco de dados de seqüências de acesso Web e um valor

de suporte, fazer a prospecção do conjunto completo dos padrões deste

conjunto que tenham o suporte suficiente.

Exemplo 1: Seja {a, b, c, d, e, f} um conjunto de eventos, e 100, 200, 300

e 400 identificadores de usuários. Um fragmento de log Web registra as

informações seguintes:

73

Page 83: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

<100, a> <100, b> <200, e> <300, b> <200, a> <200,e> <100,d>

<400,a> <100, a> <400,f> <400, b> <300, a> <200,b> <100,c> <200, c>

<400, a> <200, a> <300, b> <200, c> <400, c> <400, f> <300, f>

<300,a> <300,e> <300, c> <400,c>

Um pré-processamento divide o arquivo de log em seqüências de acesso

de usuários individuais resultando no banco de dados de seqüências de acesso

WAS, mostrado nas duas primeiras colunas da Tabela 3.7.

Existe um total de 4 seqüências de acesso no banco de dados. A primeira

seqüência de acesso, abdac, é uma 5-seqüência, enquanto ab é uma

subseqüência dela. Na seqüência de acesso do usuário 200, ambos e e eaebc

são prefixos relativos a ac. Note que fc, aparece duas vezes na seqüência do

usuário 400, afbacfc, mas a seqüência contribui somente uma vez para a

contagem de fc.

ID do Usuário Seqüência de Acesso Web Subseqüência Freqüente

100 abdac abac

200 eaebcac abcac

300 babfaec babac

400 afbacfc abacc

Tabela 3.7: Seqüências de Acessos de Usuários Individuais.

O algoritmo WAP-mine para prospecção de padrões de acesso Web é

baseado na seguinte heurística:

Heurística de Sufixo: Se e é um evento freqüente no conjunto de prefixos

de seqüências em WAS, denotado como P, a seqüência eP é um padrão de

acesso de WAS.

Por exemplo, b é um evento freqüente dentro do conjunto de prefixos ac

no exemplo 1, então podemos dizer que bac é um padrão de acesso.

74

Page 84: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Basicamente, a idéia geral deste método pode ser resumida da seguinte

forma:

- Uma estrutura, denominada WAP-tree, registra compactamente as

seqüências de acesso e os respectivos contadores, ou seja, o número de

vezes que a seqüência aparece no banco de dados de seqüências. A

WAP-tree registra todas as informações necessárias para o resto da

prospecção. Uma vez que a estrutura de dados é construída, todo o

processo de prospecção restante é baseado na WAP-tree. O banco de

dados original de seqüências de acesso não é mais necessário para

inspeções. Como o tamanho da WAP-tree é geralmente muito menor

que o tamanho do banco de dados original de seqüências de acesso, o

processo de prospecção se torna mais fácil. A construção da WAP-tree é

totalmente eficiente por percorrer o banco de dados de seqüências de

acesso duas vezes.

- Um algoritmo recursivo eficiente é proposto para enumerar padrões de

acesso da WAP-tree. Nenhuma geração de candidatos é requerida no

procedimento de prospecção, e somente os padrões com suporte

suficiente serão considerados. A filosofia desse algoritmo de

prospecção é a busca condicional, que ao invés de procurar padrões de

forma nivelada como os algoritmos da abordagem Apriori, estreita o

espaço de busca por procurar por padrões com o mesmo sufixo, e faz a

contagem de eventos freqüentes no conjunto de prefixos, sendo um

método baseado no particionamento dividir para conquistar, que evita

gerar grandes conjuntos de candidatos.

A estrutura essencial do algoritmo WAP-mine é a seguinte. O algoritmo

inspeciona o banco de dados de seqüências de acesso duas vezes. Na primeira

inspeção, ele determina o conjunto de eventos freqüentes. Um evento é

chamado de freqüente se e somente se ele aparece em pelo menos (ξ . |WAS|)

seqüências de acesso de WAS, em que |WAS| e ξ denotam o número de

seqüências de acesso em WAS e o suporte mínimo, respectivamente. Os eventos

freqüentes relativos ao Exemplo 1, podem ser visualizados na terceira coluna da

Tabela 3.7. Na próxima inspeção, WAP-mine constrói uma árvore, chamada

WAP-tree, usando os eventos freqüentes, para registrar todas as informações de 75

Page 85: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

contagem para a prospecção. então, WAP-mine, recursivamente, faz a

prospecção da WAP-tree usando busca condicional para encontrar todos os

padrões de acesso Web.

A estrutura essencial do algoritmo WAP-mine pode ser vista na Figura

3.8:

Entrada: banco de dados de seqüências de acesso WAS e um suporte mínimo

(0<ξ≤ 1). ξ

Saída: o conjunto completo dos ξ-padrões em WAS.

1. Inspecione WAS uma vez, encontrando todos os eventos freqüentes.

2. Inspecione WAS novamente, construindo uma WAP-tree sobre o conjunto

de eventos freqüentes.

3. Recursivamente faça a prospecção da WAP-tree usando busca condicional.

Figura 3.8: WAP-mine: Prospecção de Padrões de Acesso em Banco de Dados de Seqüências de Acesso.

Existem duas técnicas-chave neste método, a construção da WAP-tree e a

prospecção dos padrões de acesso da WAP-tree.

Construção da WAP-tree

As seguintes observações foram analisadas no projeto de uma árvore

altamente condensada de padrões de acesso Web.

-

-

De todas as 1-seqüências, somente aquelas freqüentes serão úteis na

construção de k-seqüências freqüentes para qualquer k>1. Assim, se

um evento e não está no conjunto de 1-seqüências freqüentes, não é

necessário incluir e na construção da árvore de padrões de acesso

Web.

Se duas seqüências de acesso compartilham um prefixo comum P, o

prefixo P pode ser compartilhado na WAP-tree. Tal

compartilhamento pode trazer algumas vantagens, como resguardar

algum espaço de armazenamento das seqüências de acesso e facilitar

a contagem de suporte de qualquer seqüência do prefixo P.

76

Page 86: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Baseando-se nas observações acima, a estrutura de Árvore de Padrões de

Acesso Web, ou WAP-tree , pode ser resumidamente definida da seguinte forma:

-

-

-

Cada nodo da WAP-tree registra duas informações: rótulo e

contador, denotados como rotulo:contador. A raiz da árvore é um

nodo virtual especial com um rótulo vazio e contador 0. Todos os

outros nodos são rotulados por um evento no conjunto de eventos E,

e associados com um contador que registra o número de ocorrências

do prefixo correspondente terminado com aquele evento no banco de

dados de seqüências de acesso Web.

A WAP-tree é construída da seguinte maneira: para cada seqüência

de acesso no banco de dados, filtra-se qualquer evento não freqüente,

e então se insere a subseqüência freqüente resultante na WAP-tree.

A inserção de subseqüências freqüentes é inicializada pela raiz da

WAP-tree. Considerando o primeiro evento, denotado como e,

incrementa-se os contadores dos nodos filhos com rótulo e de 1 se

eles existem; caso contrário, cria-se um filho rotulado com e e

inicializa-se seu contador com o valor 1. Então, recursivamente

insere-se o restante da subseqüência freqüente para a subárvore cujo

filho é rotulado e.

Estruturas auxiliares são construídas para facilitar a navegação

através dos nodos na árvore. Todos os nodos com o mesmo rótulo

são interligados através do compartilhamento de uma fila, chamada

fila de nodos-eventos. A fila de nodos-eventos com rótulo ei é

também chamada de ei-fila. Existe uma tabela de cabeçalhos H para

uma WAP-tree, e o início de cada fila de nodo-evento é registrada

em H.

Exemplo 2: Levando-se em consideração o banco de dados de seqüências

de acesso do exemplo 1, e supondo-se que o suporte mínimo seja 75%, isto é, é

requerido encontrar todos os padrões de acesso Web suportados pelo menos por

três seqüências de acesso no banco de dados. Uma inspeção no banco de dados

deriva o conjunto dos 1-eventos freqüentes: {a, b, c}. As subseqüências de

acesso freqüentes são listadas na coluna mais à direita da Tabela 3.7.

77

Page 87: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

A WAP-tree é mostrada na Figura 3.9, e é construída da seguinte

maneira. Primeiro inseri-se a seqüência abac no início da árvore com apenas um

nodo raiz virtual. Cria-se um novo nodo (a:1) (isto é, rotula-se como a, com

contador igual a 1) como o filho da raiz e então se deriva o braço a “ (a:1) →

(b:1) → (a:1) → (c:1)”, em que as setas apontam dos nodos pais para os nodos

filhos. Segundo, inseri-se a segunda seqüência abcac, começando-se pela raiz.

Uma vez que a raiz tem um filho rotulado como a, o contador de a é

incrementado de 1, isto é (a:2), e similarmente, temos (b:2). O próximo evento,

c, não emparelha com o nodo existente a, e um novo nodo filho é criado e assim,

(c:1) é inserido. O processo de inserção das seqüências restantes pode ser

conseqüentemente derivado.

R a iz

c :1

b :3

a : 2

a : 3

a : 1

b :1

a : 1

b :1

c :1

a : 1 c :2

c :1

c :1

T a b e la d e C a b e ç a lh o s

a

b

c

W A P - t r e e

R a iz

b :3

a : 2

a : 3

a : 1

a : 1

b :1

b :1

T a b e la d e C a b e ç a lh o s

a

b

W A P - t r e e | c C o n d ic io n a l

78

Figura 3.9: WAP-tree e WAP-tree Condicional.

Page 88: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

O algoritmo para a construção da WAP-tree para seqüências de acesso da

Web pode ser visualizado na Figura 3.10.

Entrada: Um banco de dados de seqüências de acesso Web WAS e o conjunto de

eventos freqüentes FE ( que é obtido pela inspeção de WAS uma vez).

Saída: Uma WAP-tree T.

Método:

1. Cria-se um nodo raiz para T;

2. Para cada seqüência de acesso S no banco de dados de seqüências de acesso

WAS faça:

a. Extrai-se subseqüências S´ de S pela remoção de todos os eventos que

aparecem em S, mas não estão em FE. Tomando-se S= s1 s2 ... sn, onde si,

1 ≤ i ≤ n, são eventos em S´.

b. Toma-se o nodo corrente apontando para a raiz de T.

c. Para i de 1 até n faça: se o nodo corrente tem um filho rotulado como si

então incremente o contador de si de 1 e faça o nodo corrente apontar para

si, senão, crie um novo nodo filho (si:1), fazendo o nodo corrente apontar

para o novo nodo, e insira-o na si-fila.

3. Retorne (T);

Figura 3.10: Construção da WAP-tree para Seqüências de Acesso Web.

A WAP-tree registra todos os contadores de seqüências de acesso. Como

será mostrado mais à frente, o processo de prospecção para todos os padrões de

acesso Web precisa trabalhar somente na WAP-tree, ao invés do banco de dados

original . Então, WAP-mine precisa inspecionar o banco de dados de seqüências

de acesso somente duas vezes. O tamanho da WAP-tree é no máximo o tamanho

das subseqüências freqüentes no banco de dados. A largura da WAP-tree, isto é,

o número de folhas na árvore, é limitado pelo número de seqüências de acesso

no banco de dados. Assim, WAP-tree pode não gerar um número explosivo de

nodos. Seqüências de acesso com mesmo prefixo compartilharão um pouco da

parte superior do caminho a partir da raiz. Estatisticamente, considerando o fator

de compartilhamento de prefixos, o tamanho da WAP-tree é muito menor que o

tamanho do banco de dados de seqüências de acesso.

79

Page 89: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Do algoritmo da Figura 3.10, pode-se observar um importante lema da

WAP-tree, que é o seguinte:

Lema 1: Para qualquer seqüência de acesso em um banco de dados de

seqüências de acesso WAS, existe um único caminho na WAP-tree começando

da raiz tal que todos os rótulos dos nodos no caminho são, em ordem,

exatamente os mesmos dos eventos da seqüência.

Este lema garante que o número de nodos folhas distintos bem como os

caminhos na WAP-tree não podem ser maior que o número de subseqüências

freqüentes no banco de dados de seqüências de acesso, e o tamanho da WAP-

tree é limitado por no máximo o número de instâncias de 1-eventos freqüentes

em um seqüência de acesso.

Prospecção de Padrões de Acesso Web da WAP-tree

A estrutura WAP-tree construída pelo algoritmo da Figura 3.10 provê

algumas propriedades interessantes que facilitam a prospecção de padrões de

acesso Web.

Propriedade de ligação de nodos: Para qualquer evento freqüente ei,

todos as subseqüências freqüentes contendo ei podem ser visitadas seguindo-se a

ei-fila, começando do registro para ei na tabela de cabeçalhos da WAP-tree.

A propriedade acima facilita o acesso às informações dos padrões

relacionados ao evento freqüente ei por seguir todos os ramos na WAP-tree

ligados pela ei-fila, somente uma vez. Para qualquer nodo rotulado ei em uma

WAP-tree, todos os nodos no caminho da raiz da árvore para este nodo formam

uma seqüência de prefixos de ei . O contador deste nodo rotulado ei é chamado

de contador da seqüência de prefixos.

Note que o caminho da raiz pode ter mais que um nodo rotulado ei,

assim, uma seqüência de prefixos de ei pode conter uma outra seqüência de

prefixos de ei . Por exemplo, a seqüência aba é uma seqüência de prefixos de b

em abab, contendo uma outra seqüência de prefixos de b, que é a. Quando

contamos ab na seqüência abab, devemos ter certeza de não estar contando em

80

Page 90: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

dobro, isto é, abab contribui somente com 1 para o contador de ab. Isto é

conseguido pelo conceito de contador não-acumulado. como mostrado a seguir.

Tomando-se G e H sendo duas seqüências de prefixos de ei e G sendo

também formado pelos subcaminhos da raiz da qual H é formada, H é chamada

de superseqüência de prefixo de G, e G é uma subseqüência de prefixo de H. Por

exemplo, aba é uma superseqüência de prefixo de a.

Para uma seqüência de prefixos de ei sem quaisquer superseqüência de

prefixos, definimos o contador não-acumulado daquela seqüência como o seu

contador. Para uma seqüência de prefixos de ei com as algumas superseqüências

de prefixos, o seu contador não-acumulado é o contador da seqüência menos os

contadores não-acumulados de todas as suas superseqüências de prefixos. Por

exemplo, tomando S= (a:6) → (b:5) → (a:2) → (b:2) sendo um caminho da raiz,

o contador não-acumulado do primeiro a, uma seqüência de prefixos de b, deve

ser 3 ao invés de 5, uma vez que 2 do total de 5 contadores no primeiro nodo b

são dedicados à superseqüência de prefixo aba de a.

Propriedade do contador não-acumulado de seqüências de prefixos: O

contador de uma seqüência G terminada com ei é a soma dos contadores não-

acumulados de todas as seqüências de prefixos de ei que sejam uma

superseqüência de G.

Baseando-se nas duas propriedades anteriores, podemos aplicar a busca

condicional para a prospecção de padrões de acesso da Web usando WAP-tree.

Busca condicional significa que, ao invés de procurar por todos os padrões de

acesso de cada vez, é feita a busca pelos padrões de acesso da Web com o

mesmo sufixo. Sufixo é usado como a condição para estreitar o espaço de busca.

À medida que o sufixo se torna maior, o espaço de busca restante torna-se

potencialmente menor.

O paradigma de busca condicional tem algumas vantagens quando

comparado àqueles baseados em Apriori. A propriedade de ligação dos nodos da

WAP-tree assegura que, para qualquer evento freqüente ei todas as seqüências

com sufixo ei podem ser visitadas eficientemente usando a ei-fila da árvore. Por

outro lado, a propriedade de contador não-acumulado da seqüência de sufixos

assegura que para contar todos os eventos freqüentes no conjunto de seqüências

com mesmo sufixo, somente a preocupação com o contador não-acumulado é 81

Page 91: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

suficiente. Isto simplifica as operações de contagem. Estas duas propriedades da

WAP-tree tornam a busca condicional eficiente.

A estrutura básica da prospecção de todos os padrões freqüentes em uma

WAP-tree é a seguinte. Se a WAP-tree tem somente um ramo, todas as

combinações ordenadas de eventos no ramo são todos os padrões de acesso Web

na árvore. Assim, o que precisa ser feito é somente retornar o conjunto completo

de tais combinações. Caso contrário, para cada evento freqüente ei na WAP-tree,

seguindo-se a ei-fila começando da tabela de cabeçalhos, uma base ei-

condicional de seqüência de acesso é construída, denotada por PS|ei, que contém

todas e somente todas as seqüências de ei. Cada seqüência de prefixo em PS|ei

tem seu contador proveniente da WAP-tree. Para cada seqüência de prefixo de ei

com contador c, quando ela é inserida em PS|ei, todas as subseqüências de

prefixos de ei são inseridas em PS|ei com contador -c. Por considerar os

contadores de seqüências de prefixos, uma seqüência de prefixo em PS|ei possui

seu contador não acumulado.

Assim, pode-se fazer a prospecção do conjunto completo de padrões de

acesso Web que são seqüências de prefixo de ei pela concatenação de ei a todos

os padrões de acesso Web retornados pela prospecção da WAP-tree condicional,

e o próprio ei, o que pode ser visualizado na Figura 3.11:

82

Page 92: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Entrada: uma WAP-tree T e um suporte mínimo ξ.

Saída: o conjunto completo de ξ-padrões.

Método:

1. se a WAP-tree T tem somente um ramo então retorne todas as combinações

únicas de nodos naquele ramo.

2. Inicialize o conjunto de padrões de acesso Web WAP=∅. Cada evento em

WAP-tree T, que por ele mesmo seja um padrão de acesso Web, é inserido

em WAP.

3. Para cada evento ei em WAP-tree T faça

a. construa uma base condicional de seqüências de ei , isto é PS|ei seguindo

a ei-fila, contando os eventos freqüentes condicionais ao mesmo tempo.

b. se o conjunto de eventos freqüentes condicionais não é vazio então

construa uma WAP-tree condicional para ei sobre PS|ei usando o

algoritmo descrito na Figura 3.10. Recursivamente faça a prospecção da

WAP-tree condicional.

c. para cada padrão de acesso Web retornado da prospecção da WAP-tree

condicional faça concatene ei a ele e insira-o em WAP.

4. Retorne WAP

Figura 3.11: Prospecção de Todos os Padrões Freqüentes em uma WAP-tree.

Para diminuir o impacto do tamanho dos bancos de dados, deve ser

utilizada uma medida de suporte, que é o percentual de transações que contém

determinado padrão.

Exemplo 3: Tomando-se a prospecção dos padrões de acesso da Web na WAP-

tree da Figura 3.9 e supondo-se que o suporte mínimo é 75%, começamos a

busca condicional para o evento freqüente c. A base condicional de seqüências c

é: aba :2, ab:1, abca:1, ab:-1, baba:1, abac:1, aba:-1

Para ser qualificado como um evento freqüente, um evento deve ter

contador 3. Por esta razão, os eventos freqüentes condicionais são a(4) e b(4).

Então, uma WAP-tree condicional, WAP-tree | c, é construída, como mostra a

Figura 3.9.

83

Page 93: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Recursivamente, as bases de seqüências condicionais de ac e bc são

construídas e feitas as prospecções das WAP-trees condicionais. Neste ponto, a

busca condicional de c termina, e usamos os outros eventos freqüentes, para

encontrar todos os outros padrões de acesso da Web.

Seguindo as propriedades apresentadas adiante e considerando a

enumeração de padrões de acesso do algoritmo da Figura 3.11, a corretude do

WAP-mine pode ser mostrada.

Teorema 1: WAP-mine retorna o conjunto completo de padrões de

acesso sem redundância.

A prospecção de padrões de acesso Web usando WAP-tree tem

vantagens significativas. Primeiro, a WAP-tree é uma estrutura de dados eficaz.

Ela registra todas as informações dos contadores para a prospecção de padrões, e

livra o processo de prospecção da contagem de candidatos pelo casamento de

padrões. Segundo, a estratégia de busca condicional estreita o espaço de busca

eficientemente, e faz um melhor uso da estrutura da WAP-tree. Isto evita o

problema de geração explosiva de candidatos como acontece em algoritmos

como o Apriori [Pei et al., 2000].

3) Análise e Utilização dos Padrões

A análise e utilização dos padrões de acesso serão feitas através da

comparação entre o conhecimento descoberto acerca da utilização da

ontologia nas consultas cooperativas realizadas no portal com as perspectivas

que os engenheiros do domínio possuem sobre como elas deveriam ser

utilizadas. Esta comparação será facilitada a partir do desenvolvimento de

uma aplicação de software a ser utilizada pelos engenheiros do domínio. A

análise deste conhecimento possibilitará a utilização do conhecimento

descoberto visando a efetiva melhoria na tarefa de manutenção da ontologia

incorporada ao portal, com o objetivo que esta sempre represente as reais

necessidades de seus usuários.

Outra forma de análise e utilização dos padrões será realizada a partir da

disponibilização ao mecanismo de Busca Cooperativa dos padrões de acesso

identificados, possibilitando sua utilização em termos de re-ranqueamento

baseado na filtragem colaborativa dos resultados. Neste caso, de acordo com 84

Page 94: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

uma determinada busca, o mecanismo de busca tem à disposição uma

seqüência ordenada de identificações dos documentos acessados, de acordo

com o grau de sua importância para os usuários. Tal seqüência deve ser

utilizada pelo mecanismo de Busca Cooperativa em sua política de re-

ranqueamento dos resultados, inferindo objetivos e planos do usuário,

apresentando-lhe os documentos relevantes, ordenados de acordo com os

padrões gerados pela ferramenta.

85

Page 95: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

A Figura 3.12 demonstra mais especificamente as etapas do processo

proposto para apoio à Gestão de Conhecimento no portão SBICafé

implementadas pela ferramenta:

Para cada palavra pod

termo da ontologia

caracter

Informações

Histórico das Consultas

Cooperativas

Parâmetros

Parâmetros Conhecimento

para Filtragem

Colaborativa

Engenheiros

do Domínio do Portal

Mecanismo

de Busca do

Portal

Padrões de Acesso a Consultas

Cooperativas

Aplicação On-line de

Pós-Processamento para Manutenção da

Ontologia

Prospecção de Padrões de Acesso

à Consultas Cooperativas

(algoritmo WAP-mine)

Pré-Processamento dos Dados

Obtenção dos Registros de Acessos ao

Mecanismo de Busca do Portal

Histórico de Consultas

Cooperativas

Aplicação On-line Automática de Pós-

Processamento para Re-ranqueamento de

Resultados de Consultas Cooperativas

Figura 3.12: Etapas Específicas do Processo Proposto para Apoio à Gestão de Conhecimento no Portal Web.

86

Page 96: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

4 – Projeto

Neste capítulo é apresentado o projeto da solução de acordo com a proposta

apresentada no capítulo anterior. São assim apresentadas as funcionalidades da

ferramenta a ser implementada, sua metodologia de projeto, bem como as interações e

recursos tecnológicos a serem utilizados em sua implementação.

4.1 – Funcionalidades e Casos de Uso

Nesta seção são apresentadas as funcionalidades da ferramenta a ser

implementada, sendo apresentados os seus atores e os principais casos de uso. Para

apresentar os casos de uso será adotada a notação sugerida pela UML (Unified

Modeling Language) [Booch et al., 1998].

Mecanismo de Busca da Biblioteca Virtual do Café

Engenheiros do Domínio do SBICafé

1. Acessa Arquivos de Log de Buscas

3. Faz Prospecção de Padrões de Consultas Cooperativas

5. Gera Conhecimento para Mecanismo de Busca

4. Gera Conhecimento para Manutenção da Ontologia

2. Faz Pré-processamento

<<uses>>

<<uses>>

<<uses>>

<<uses>>

<<uses>>

Figura 4.1: Diagrama de Casos de Uso.

87

Page 97: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

A seguir são apresentadas as descrições de cada um dos casos de uso da

ferramenta proposta, mostrados na Figura 4.1.

1. Acessa Arquivos de Log de Buscas: Periodicamente, observando-se os

intervalos de tempo determinados pelos Engenheiros do Domínio do SBICafé, o

módulo de Prospecção de Padrões de Consultas Cooperativas obtém os dados

dos arquivos de log do Mecanismo de Busca da Biblioteca Virtual do Café para

a atualização da base de Padrões de Consultas Cooperativas e do Histórico de

Consultas Cooperativas. Veja a Figura 4.2.

1 – Acessa Arquivos de Log de Buscas

Atores

É um caso de uso temporal automático

Pré-Condições

É momento de atualizar a base de conhecimento sobre os Padrões de

Acesso às Consultas Cooperativas da Biblioteca Virtual do Café.

Fluxo de Eventos

Principal

1. Após cada período de tempo, pré-determinado pelos Engenheiros do

Domínio do SBICafé através da definição dos parâmetros para

prospecção, o módulo de Prospecção de Padrões de Consultas

Cooperativas acessa os arquivos de Log atualizados pertencentes ao

Mecanismo de Busca da Biblioteca Virtual do Café e recupera os dados

inseridos desde o seu último acesso.

Pós-Condições

O módulo de Prospecção de Padrões de Consultas Cooperativas tem os

dados atualizados dos arquivos de log do Mecanismo de Busca da Biblioteca

Virtual do Café.

Figura 4.2: Caso de uso “1 - Acessa Arquivos de Log de Buscas”.

88

Page 98: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

2. Faz Pré-processamento: Após a obtenção dos Arquivos de Log de Buscas da

Biblioteca Virtual do Café, o módulo de Prospecção de Padrões de Consultas

Cooperativas realiza a etapa de pré-processamentos, executando as tarefas de

limpeza dos dados obtidos, selecionando os dados relacionados a Consultas

Cooperativas, gerando o Histórico das Consultas Cooperativas, identificando as

sessões e transações referentes a cada uma das Consulta Cooperativa realizada

com o uso do tesauro e gerando a entrada para o processo de Prospecção de

Padrões. Veja a Figura 4.3.

2 – Faz Pré-processamento

Atores

É um caso de uso temporal automático

Pré-Condições

O módulo de Prospecção de Padrões de Consultas Cooperativas tem os

dados atualizados dos arquivos de log do Mecanismo de Busca da Biblioteca

Virtual do Café.

Fluxo de Eventos

Principal

1. O módulo de Prospecção de Padrões de Consultas Cooperativas realiza

as tarefas de pré-processamento, acessando os dados atuais obtidos do

log do Mecanismo de Busca da Biblioteca Virtual do Café, tendo como

primeira etapa a limpeza dos dados, selecionando os registros

correspondentes às Consultas Cooperativas.

2. Após a limpeza dos dados, é atualizado o Histórico de Consultas

Cooperativas sendo identificados os registros relacionados a cada

Consulta Cooperativa realizada.

Pós-Condições

O módulo de Prospecção de Padrões de Consultas Cooperativas contém os

dados atuais das Consultas Cooperativas que utilizaram o tesauro e o Histórico de

Consultas Cooperativas está atualizado.

Figura 4.3: Caso de uso “2 - Faz Pré-processamento”.

89

Page 99: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

3. Faz Prospecção de Padrões de Consultas Cooperativas: Após a obtenção dos

dados das atuais Consultas Cooperativas, o módulo de Prospecção de Padrões de

Consultas Cooperativas realiza a etapa de descoberta/atualização de padrões

utilizando o algoritmo WAP-mine. Veja a Figura 4.4.

3 – Faz Prospecção de Padrões de Consultas Cooperativas

Atores

É um caso de uso temporal automático

Pré-Condições

O módulo de Prospecção de Padrões de Consultas Cooperativas contém os

dados das atuais Consultas Cooperativas.

Fluxo de Eventos

Principal

1. O módulo de Prospecção de Padrões de Consultas Cooperativas realiza

as tarefas de descoberta de padrões de acesso, executando o algoritmo

WAP-mine .

2. Após a execução da prospecção de dados propriamente dita, os padrões

gerados são armazenados/atualizados na Base de Padrões de Consultas

Cooperativas.

Pós-Condições

A Base de Padrões de Consultas Cooperativas contém os atuais padrões de

acesso referentes a esta categoria de consulta.

Figura 4.4: Caso de uso “3 - Faz Prospecção de Padrões de Consultas Cooperativas”.

90

Page 100: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

4. Gera Conhecimento para Manutenção da Ontologia: Os Engenheiros do

Domínio acessam a aplicação de software destinada à Descoberta de

Conhecimento para a Manutenção da Ontologia. Veja a Figura 4.5.

4 – Gera Conhecimento para Manutenção da Ontologia

Atores

Engenheiros do Domínio do SBICafé

Pré-Condições

Os Engenheiros do Domínio do SBICafé acessam a aplicação destinada à

Descoberta de Conhecimento para a Manutenção da Ontologia.

Fluxo de Eventos

Principal

1. Os Engenheiros do Domínio indicam a opção de pesquisa de acordo

com o conhecimento desejado.

2.A aplicação destinada à Descoberta de Conhecimento para a Manutenção

da Ontologia é executada.

3. A aplicação retorna os devidos resultados a partir da Base de Padrões de

Consultas Cooperativas e do Histórico de Consultas Cooperativas.

Pós-Condições

Os Engenheiros do Domínio possuem o conhecimento necessário para

auxílio à tarefa de Manutenção da Ontologia incorporada ao SBICafé.

Figura 4.5: Caso de uso “4 - Gera Conhecimento para Manutenção da Ontologia”.

91

Page 101: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

5. Gera Conhecimento para Mecanismo de Busca: Com o propósito de re-

ranqueamento dos resultados de uma Consulta Cooperativa que utilize o

tesauro, o Mecanismo de Busca da Biblioteca Virtual do Café acessa os padrões

contidos na Base de Padrões de Consultas Cooperativas. Veja a Figura 4.6.

5 – Gera Conhecimento para Mecanismo de Busca

Atores

Mecanismo de Busca da Biblioteca Virtual do Café

Pré-Condições

Um usuário do portal faz uma consulta cooperativa utilizando o tesauro.

Fluxo de Eventos

Principal

1. O mecanismo de busca recebe um requisição de Consulta Cooperativa

utilizando o tesauro.

2. A aplicação destinada à descoberta de Conhecimento para Mecanismo

de Busca é executada.

3. A aplicação retorna o atual padrão de acesso relativo à consulta que está

sendo executada, a partir de uma pesquisa na Base de Padrões de

Consultas Cooperativas.

Alternativo

2. Caso não se tenha um padrão relacionado à busca sendo realizada,

nenhum conhecimento é retornado.

Pós-Condições

O Mecanismo de Busca Cooperativa da Biblioteca Virtual do Café possui o

conhecimento necessário para a tarefa de re-ranqueamento dos resultados

provenientes de sua atual política de buscas.

Figura 4.6: Caso de uso “5 - Gera Conhecimento para Mecanismo de Busca”.

92

Page 102: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

4.2 – Projeto Lógico

Nesta seção será apresentado o projeto da ferramenta de acordo com as

funcionalidades apresentadas nos casos de usos descritos na seção anterior. Tal projeto

será representado pelo diagrama de classes da ferramenta, desenvolvido usando a

notação sugerida pela UML (Unified Modeling Language) [Booch et al., 1998].

4.2.1 – Diagrama de Classe UML

Apresenta-se aqui o Diagrama de Classes na Figura 4.7 que mostra as principais

classes do sistema (classes persistentes) e suas relações.

Padrões de Consultas Cooperativas BasedePadrõesdeConsultasCooperativas ParâmetrosWAP-mine

AcessaArquivosdeLogdeBuscas() FazPré-Processamento() FazProspecçãodePadrõesdeConsultasCooperativas() GeraConhecimentoParaManutençãodaOntologia() GeraConhecimentoParaMecanismodeBusca()

Mecanismo de Busca da Biblioteca Virtual do Café UtilizaConhecimentodeConsultasCooperativas()

Disponibiliza Padrões

Engenheiros do Domínio do SBICafé

DeterminaParâmetrosParaProspecçãodeConsultasCooperativas() AnalisaConhecimentoParaManutençãodaOntologia()

Utilizam Padrões

Arquivos de Log de Buscas TabelaAcessos TabelaConsultas TabelaPublicações

Faz Prospecção

Mantêm

Utilizam Histórico

Histórico de Consultas Cooperativas

Figura 4.7: Diagrama de Classes da Ferramenta.

93

Page 103: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

4.3 – Interações e Recursos Tecnológicos

Esta seção apresenta as principais interações da ferramenta proposta, assim

como os principais recursos tecnológicos a serem usados na sua implementação.

Informações Portal SBICafé

SGBD

Servidor de Aplicação Web

Conhecimento para

Manutenção da Ontologia

Prospecção de Padrões de

Consultas Cooperativas

Engenheiros do Domínio do SBICafé

Aplicação de Geração de Conhecimento para

Mecanismo de Busca

Aplicação de Geração de Conhecimento

para Manutenção da Ontologia

Usuário do SBICafé

Interfaces de Consulta e Navegação

Mecanismo de

Busca do

SBICafé

Base de Padrões

de Acesso a Consultas

Cooperativas

Logs de

Busca

Figura 4.8: Principais Interações da Ferramenta Proposta. 94

Page 104: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

A Figura 4.8 apresenta as principais interações da ferramenta. Todo o acesso à

ferramenta poderá ser feito via Internet, (usando TCP-IP / HTTP) através de um

navegador Web padrão.

O Processo de Prospecção de Padrões de Consultas Cooperativas será executado

off-line, porém automaticamente em períodos de tempos pré-determinados, mantendo-se

atualizada a Base de Padrões de Consultas Cooperativas.

A Aplicação de Geração de Conhecimento para Mecanismo de busca da

Biblioteca Virtual do Café será executada on-line automaticamente sempre que o

usuário acessar o portal SBICafé com o objetivo de realização de uma Consulta

Cooperativa com a utilização do tesauro.

A Aplicação de Geração de Conhecimento para Manutenção da Ontologia será

executada on-line a partir de necessidade explícita dos Engenheiros do Domínio do

SBICafé.

O portal SBICafé fica abrigado no Servidor de Aplicações Web, o qual deverá

também abrigar o Processo de Prospecção de Consultas Cooperativas. Já a Aplicação de

Geração de Conhecimento para Manutenção da Ontologia deve ser incorporada ao

SBICafé, tendo seu acesso restrito aos Engenheiros do Domínio do portal . O servidor

usado no SBICafé é o Microsoft Information Server 5.0 rodando sob o sistema

operacional Windows 2000 Server. O Mecanismo de Busca que representa um

importante componente do portal é o Microsoft Full Text Search Engine que faz parte

do sistema operacional Windows 2000 Server, e este mecanismo deverá usar a

Aplicação de Geração de Conhecimento para Mecanismo de Busca para ter a

possibilidade de acessar a Base de Padrões de Consultas Cooperativas sempre que

necessário. O SGBD (Sistema Gerenciador de Banco de Dados) que já abrigava todos

os dados utilizados no Portal do Café é o Microsoft SQL Server 2000, que também irá

abrigar a Base de Padrões de Acesso a Consultas Cooperativas e o Histórico de

Consultas Cooperativas.

O componente mais importante da ferramenta proposta e que merece atenção

especial é o Processo de Prospecção de Padrões de Consultas Cooperativas. Sua

estrutura interna e abrangência certamente vão influenciar profundamente o

desempenho da ferramenta no que diz respeito à eficácia no suporte ao processo de

gestão do conhecimento, mais especificamente nas atividades de geração/manutenção

dos padrões de acesso, utilização na aplicação de software destinada aos engenheiros do

domínio e na disponibilização dos padrões para o mecanismo de busca.

95

Page 105: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

O Processo de Prospecção de Padrões de Acessos às Consultas Cooperativas foi

implementado utilizando-se a linguagem Delphi, bem como as interfaces de utilização

da Base de Padrões de Acesso a Consultas Cooperativas gerada. A interface entre o

Mecanismo de Busca da Biblioteca Virtual do Café e a Base de Padrões de Acesso é

realizada através de uma aplicação de software que a partir da base de conhecimento

composta pelos padrões gerados, retorna para uma determinada palavra-chave usada em

uma Consulta Cooperativa que utilize o tesauro, o padrão de acesso correspondente, que

pode ser utilizado para o re-ranqueamento dos resultados originais do mecanismo de

busca, refletindo os atuais interesses dos usuários da Consulta Cooperativa. A interface

entre os Engenheiros do Domínio, a Base de Padrões de Acessos e o Histórico de

Consultas Cooperativas se dá através de uma aplicação de software disponível no Portal

SBICafé, que a partir do Histórico das Consultas Cooperativas realizadas e da Base de

Padrões de Acesso proporciona as reais interpretações do comprometimento ontológico

por eles designados, demonstrando as possíveis necessidades de manutenções na

ontologia incorporada ao portal.

96

Page 106: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

5 – Implementação e Resultados

Este capítulo apresenta a implementação do sistema proposto, suas

funcionalidades, assim como os resultados obtidos. São apresentadas inicialmente as

funcionalidades que tratam da manutenção do sistema, ou seja, as tarefas que são

relacionadas às atividades primordiais ao funcionamento do mesmo, e que incluem as

etapas de acesso, pré-processamento e de prospecção de padrões. Tais funcionalidades

correspondem às principais atividades da ferramenta proposta. Em seguida são

apresentadas as funcionalidades que tratam das utilizações dos padrões de acesso

descobertos nas etapas anteriores, estando assim explicitadas uma simulação da

aplicação dos padrões a serem utilizados pelo mecanismo de busca para apoiar o re-

ranqueamento dos documentos retornados aos usuários do portal ao realizarem uma

Consulta Cooperativa, e a aplicação a ser utilizada pelos engenheiros do domínio como

apoio à sua tarefa de manutenção da ontologia incorporada ao SBICafé. Em seguida,

são apresentadas as interfaces destas aplicações e ao final são discutidos os resultados

obtidos.

5.1 – Processo de Prospecção de Padrões de Consultas Cooperativas

O módulo responsável pelo Processo de Prospecção de Padrões de Consultas

Cooperativas realiza as etapas de prospecção de dados citadas no Capítulo 3, que são

implementadas de acordo com os casos de uso determinados no Capítulo 4, sendo o

módulo executado off-line automaticamente em determinados períodos de tempo.

A periodicidade da execução deste módulo é determinada por um parâmetro

informado pelos engenheiros do domínio, em uma opção denominada Utilitários,

existente na interface principal da aplicação, que pode ser visualizada na Figura 5.1.

97

Page 107: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Figura 5.1: Interface Utilitários.

Ao se selecionar a opção Periodicidade dos Padrões, é apresentada a interface da

ferramenta que possibilita a pré-determinação dos dias da semana e horários em que

todas as etapas do processo de Prospecção de Padrões de Consultas Cooperativas serão

automaticamente executadas. Tal interface pode ser visualizada na Figura 5.2.

Figura 5.2: Interface para Determinação da Periodicidade.

98

Page 108: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Além da periodicidade, a opção Utilitários permite informar o valor de suporte a

ser utilizado pelo algoritmo WAP-mine na tarefa de descoberta de padrões. O valor de

suporte indica a porcentagem de buscas em que uma determinada seqüência de acesso

deve aparecer para ser considerada uma seqüência freqüente. Para se determinar este

valor o usuário deve escolher a opção Suporte dos Padrões, cuja interface pode ser

visualizada na Figura 5.3.

Figura 5.3: Interface para Determinação de Suporte.

O valor de suporte, a ser determinado, pode variar no domínio de valores reais

no intervalo ]0, 1]. Este valor, na ferramenta proposta, será utilizado na fase de

descoberta de padrões, para se verificar as seqüências de acesso à documentos

consideradas freqüentes em cada grupo de buscas, constituídos pelas tuplas (Idioma +

Chave + ChaveExpandida), e as seqüências de acesso à ontologia, considerando-se as

tuplas (Idioma + Chave). A escolha de um suporte com valor muito próximo a 0 (zero),

implica considerar praticamente todas as seqüências acessadas em um grupo de buscas

como freqüentes, já o valor 1 (um) implica que uma seqüência para ser considerada

freqüente, deve ter sido acessada em todas as ocorrências de um grupo de buscas.

Assim, na grande maioria dos exemplos encontrados na literatura, o valor típico de

suporte está entre 0.5 e 0.75, sendo um valor mediano entre os extremos citados.

99

Page 109: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

A aplicação proporciona em sua interface principal, que pode ser visualizada na

Figura 5.4, a opção de simulação de todas as etapas do módulo responsável pelo

Processo de Prospecção de Padrões de Acesso a Consultas Cooperativas, bastando o

usuário escolher a opção Simulação de Prospecção.

Figura 5.4: Interface Principal da Aplicação.

Ao se escolher a opção Simulação de Prospecção, as etapas do processo de

Prospecção de Padrões de Consultas Cooperativas são simuladas, conforme descrito a

seguir:

1 – Acessa Arquivos de Log de Buscas

Esta tarefa corresponde à fase de obtenção de dados. As tabelas dos

arquivos de Log de Busca estão sempre disponíveis no servidor do SBICafé,

bastando recuperar os dados das consultas realizadas a partir do último

acesso a estes arquivos. Ao se recuperar os dados dos logs, é criada uma

cópia da tabela Consulta, denominada TabHistórico, ordenada pelos campos

(IDAcesso + IDConsulta), e que será utilizada nas próximas etapas, além de

100

Page 110: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

guardar informações importantes para a manutenção da ontologia. Caso a

tabela TabHistórico já exista, esta é atualizada com os dados das novas

consultas realizadas.

As atividades pertinentes a este passo do processo são executadas por

uma rotina denominada AcessarLog, cuja interface de simulação de sua pós-

execução pode ser visualizada na Figura 5.5.

Figura 5.5: Interface de Simulação da Fase Acessar Log.

Ao se clicar na opção Acessar Log a tabela TabHistórico é criada ou

atualizada com os dados da tabela Consulta existente no arquivo de log de

buscas, e seus dados são apresentados na tela.

Ao se clicar na opção Continuar, é executada a primeira tarefa

correspondente à etapa de pré-processamento.

101

Page 111: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

2 – Faz Pré-Processamento

Após a obtenção das tabelas do log de buscas e da criação/atualização da

tabela TabHistórico, as seguintes tarefas são imediatamente executadas:

2.1 - Limpeza dos Dados

Esta tarefa é responsável por eliminar todas as entradas da tabela

TabHistórico que não forem relacionadas aos fluxos de Consultas

Cooperativas.

As atividades pertinentes a este passo do processo são executadas

por uma rotina denominada LimparLog, cuja interface de simulação de

sua pós-execução pode ser visualizada na Figura 5.6.

Figura 5.6: Interface de Simulação da Fase Limpar Log.

Ao se clicar na opção Limpar Log a tabela TabHistórico passa

pelo processo de limpeza e seus dados são apresentados na tela.

Ao se clicar na opção Continuar, é executada a próxima tarefa da

etapa de pré-processamento.

102

Page 112: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

2.2 – Identificação das Sessões e Transações

Esta tarefa é responsável por agrupar os dados de cada Consulta

Cooperativa da tabela TabHistórico, gerando uma tabela denominada

TabTransações, onde cada registro contém os campos Idioma, a Chave

utilizada na busca, a Chave Expandida pelo uso do tesauro e a seqüência

ordenada de documentos acessados pelo usuário em cada busca.

As atividades pertinentes a este passo do processo são executadas

por uma rotina denominada GerarTransações, cuja interface de

simulação de sua pós-execução pode ser visualizada na Figura 5.7.

Figura 5.7: Interface de Simulação da Fase Gerar Transações.

Ao se clicar na opção Gerar Transações a tabela TabTransações é

criada e seus dados são apresentados na tela.

Ao se clicar na opção Continuar, é executada a próxima tarefa que

corresponde à etapa de Descoberta de Padrões de Acesso.

103

Page 113: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

- Descoberta dos padrões de acesso

3 – Faz Prospecção de Padrões de Consultas Cooperativas

Este módulo é responsável pela execução do algoritmo de Prospecção de

Padrões de Acesso, WAP-mine (especificado no Capítulo 3), e pelo

armazenamento/atualização das informações na Base de Padrões de

Consultas Cooperativas, sendo implementado pela rotina denominada

DescobrirPadrões.

Na utilização do algoritmo WAP-mine para a Prospecção de Padrões de

Acessos a Consultas Cooperativas, é utilizada a correspondência do

IDUsuário com os campos (Idioma + Chave + ChaveExpandida) da tabela

TabTransações, e a Seqüência de Acessos sendo os documentos acessados

em uma consulta. Assim, cada grupo de registros correspondentes à tupla

(Idioma + Chave + ChaveExpandida) da tabela TabTransações representa

um banco de dados WAS referido no algoritmo, e terá seus padrões de acesso

gerados.

Assim, após aplicação do algoritmo WAP-mine, tendo como entrada a

tabela TabTransações e o suporte pré-definido pelos Engenheiros do

Domínio na interface Utilitários, tem-se como resultado a Base de Padrões

de Acesso a Consultas Cooperativas.

As atividades pertinentes a este passo do processo e que são executadas

pela rotina DescobrirPadrões, tem a interface de simulação de sua pós-

execução demonstrada na Figura 5.8. Nos exemplos apresentados neste

trabalho utilizou-se um valor de suporte = 0.75 (ou seja, as seqüências

freqüentes são aqueles presentes em pelo menos 75% dos registros de seu

banco de dados WAS).

104

Page 114: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Figura 5.8: Interface de Simulação da Fase Descobrir Padrões .

Ao se clicar na opção Gerar Padrões a Base de Dados de Padrões de Acesso a

Consultas Cooperativas é criada e seus dados são apresentados na tela.

Ao se clicar na opção Terminar, é reapresentada a interface principal da

aplicação.

5.2 – Aplicação para Geração de Conhecimento para a Manutenção da Ontologia

Este módulo constitui uma das aplicações representantes da etapa de Análise e

Utilização dos Padrões, citada no Capítulo 3, implementando o caso de uso “Gera

Conhecimento para Manutenção da Ontologia”, apresentado no Capítulo 4, e representa

a interface entre os Engenheiros do Domínio, a Base de Padrões de Buscas Cooperativas

e o Histórico de Consultas Cooperativas .

105

Page 115: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Para se acessar esta aplicação basta escolher a opção Manutenção da Ontologia

na interface principal da aplicação. Em seguida é mostrada a interface correspondente a

esta opção, que pode ser visualizada na Figura 5.9.

Figura 5.9: Interface de Opções de Conhecimento para Manutenção da Ontologia.

Ao se escolher a opção Padrões de Consultas a interface de acesso às

informações relativas aos Padrões de Acessos gerados é ativada, podendo ser

visualizada na Figura 5.10.

106

Page 116: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Figura 5.10: Interface de Padrões de Acesso para a Manutenção da Ontologia.

Nesta interface, o Engenheiro do Domínio deve fornecer o(s) termo(s) a ser(em)

pesquisado(s), que correspondem à Expressão de Consulta, e escolher um idioma. Em

seguida, as expansões correspondentes ao par (Expressão de Consulta + Idioma) que

foram realizadas nas Consultas Cooperativas são apresentadas como Expressão

Expandida da Consulta. Além disto, o engenheiro do Domínio deve determinar a Regra

de Relevância, que é o critério de escolha da seqüência padrão de documentos a ser

apresentada, dentre aquelas que possuem o suporte mínimo estabelecido. O valor padrão

para este critério é ‘Padrão de Maior Suporte’, podendo ser alterado para ‘Padrão de

Maior Tamanho’ ou ‘Todos os Padrões’. Para cada valor de Expressão Expandida é

listada uma seqüência de documentos correspondentes ao seu Padrão de Acesso atual de

acordo com a regra de relevância escolhida.

As opções PróximoPadrão e PadrãoAnterior são habilitadas apenas nos casos

em que existam diversos padrões que atendam à regra de relevância escolhida.

Ao se clicar na opção Nova Pesquisa, o processo é reinicializado, podendo o

Engenheiro do Domínio fornecer outra Expressão de Consulta e outro idioma.

Ao se clicar na opção Voltar, é reapresentada a interface de Opções de

Conhecimento para Manutenção da Ontologia.

107

Page 117: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Além da utilização dos dados dos Padrões de Acesso a Consultas Cooperativas,

são também disponibilizadas opções de pesquisas que utilizam algumas características

desta categoria de consulta, as quais estão armazenadas no Histórico de Consultas

Cooperativas e que podem ser utilizadas no auxílio à manutenção da ontologia. Para se

acessar estas informações, na interface de Opções de Conhecimento para Manutenção

da Ontologia (Figura 5.9), deve-se escolher a opção Outras Informações, e será

ativada a interface que pode ser visualizada na Figura 5.11.

Figura 5.11: Interface de Outras Informações para Manutenção da Ontologia.

108

Page 118: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Ao se escolher a opção Expansões Mais Requisitadas, será apresentada a

interface que pode ser visualizada na Figura 5.12.

Figura 5.12: Interface das Expansões mais Requisitadas ao Tesauro.

Nesta interface são exibidos os termos ou conjunto de termos (Chave) seguidos

pelas expansões requisitadas ao tesauro durante a realização de Consultas Cooperativas.

Para cada par (termo + expansão) é apresentado o campo Nº de Consultas,

representando o número de vezes que este par ocorreu nas Consultas Cooperativas,

sendo a listagem ordenada por este campo.

109

Page 119: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Caso se escolha a opção Expansões Mais Acessadas, será apresentada a

interface que pode ser visualizada na Figura 5.13.

Figura 5.13: Interface das Expansões mais Acessadas.

Também nesta interface são exibidos os termos ou conjunto de termos (Chave)

seguidos pelas expansões requisitadas ao tesauro durante a realização de Consultas

Cooperativas. Para cada par (termo + expansão) é apresentado o campo Nº de Acessos

representando o número de documentos retornados para este par que foram acessados

pelos usuários, sendo a listagem ordenada por este campo.

110

Page 120: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Caso se escolha a opção Expansões Não Acessadas, será apresentada a

interface que pode ser visualizada na Figura 5.14.

Figura 5.14: Interface das Expansões não Acessadas.

Assim como nas opções anteriores, nesta interface são exibidos os termos ou

conjunto de termos (Chave) seguidos pelas expansões requisitadas ao tesauro durante a

realização de Consultas Cooperativas. Para cada par (termo + expansão) é apresentado o

campo Nº de Vezes representando a quantidade de vezes que esta expansão foi

requisitada ao tesauro para o termo Chave, tendo a consulta retornado uma lista de

documentos, mas nenhum destes documentos tenha sido acessado pelo usuário, sendo a

listagem ordenada por este campo.

111

Page 121: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Caso se escolha a opção Expansões Sem Respostas, será apresentada a

interface que pode ser visualizada na Figura 5.15.

Figura 5.15: Interface das Expansões sem Respostas.

De forma idêntica às opções anteriores, nesta interface são exibidos os termos ou

conjunto de termos (Chave) seguidos pelas expansões requisitadas ao tesauro durante a

realização de Consultas Cooperativas. Para cada par (termo + expansão) é apresentado o

campo Nº de Requisições representando o número de vezes que esta expansão

requisitada para este termo ao tesauro não retornou resultados para o usuário, sendo a

listagem ordenada por este campo.

112

Page 122: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Caso se escolha a opção Documentos Retornados, será apresentada a interface

que pode ser visualizada na Figura 5.16.

Figura 5.16: Interface de Pesquisa dos Documentos Atualmente Retornados.

Esta interface, de forma análoga à interface da Figura 5.10 (Interface de Padrões

de Acesso para a Manutenção da Ontologia), requisita que o Engenheiro do Domínio

forneça uma Expressão de Consulta e escolha um idioma. Em seguida as expansões

realizadas para este par (Expressão de Consulta + Idioma) são apresentadas como

Expressão Expandida da Consulta. Para cada valor de Expansão encontrado são listados

os documentos atualmente retornados pela consulta, correspondentes à tupla (Expressão

de Consulta + Expressão Expandida + Idioma).

Ao se clicar na opção Nova Pesquisa, o processo é reinicializado, podendo o

Engenheiro do Domínio fornecer outra Expressão de Consulta e outro idioma.

113

Page 123: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

5.3 – Aplicação de Geração de Conhecimento para o Mecanismo de Busca

Este módulo constitui a outra aplicação representante da etapa de Análise e

Utilização dos Padrões, citada no Capítulo 3, implementando o caso de uso “Gera

Conhecimento para Mecanismo de Busca”, apresentado no Capítulo 4. Esta aplicação

deve ser automaticamente executada pelo mecanismo de busca para o re-ranqueamento

dos resultados de cada Consulta Cooperativa realizada pelo usuário, na qual for

requisitado o uso do tesauro. Assim, foi implementada uma interface de simulação da

utilização da Base de Padrões de Acesso a Consultas Cooperativas pelo Mecanismo de

Busca da Biblioteca Virtual do Café, cuja execução pode ser ativada escolhendo-se a

opção Simulação de Busca na interface principal da aplicação (Figura 5.1), sendo

apresentada a interface que pode ser visualizada na Figura 5.17.

Figura 5.17: Interface da Aplicação de Simulação de Busca.

Nesta interface, para cada simulação a ser feita, deve-se fornecer uma Expressão

de Consulta, um idioma e uma Expressão Expandida requisitada para esta Expressão de

Consulta, neste idioma. Estes dados são requisitados, porque são estas as informações

114

Page 124: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

que o Mecanismo de Busca possui ao utilizar esta aplicação para acessar a Base de

Padrões de Acesso à Consultas Cooperativas com o objetivo de obter o Padrão de

Acesso correspondente à consulta que está sendo realizada, e posteriormente realizar o

re-ranqueamento dos seus documentos resultantes. A Regra de Relevância utilizada é

‘Padrão de Maior Suporte’ e no caso de existirem vários padrões que atendam a esta

regra, utiliza-se dentre estes padrões, a regra de ‘Padrão de Maior Tamanho’. Ao

persistir mais de um padrão após a aplicação das duas regras, o mecanismo de busca

deverá fazer uma escolha que melhor se adapte à sua política de re-ranqueamento.

Assim, para cada tupla (Expressão de Consulta + Idioma + Expressão Expandida) é

apresentada uma listagem dos documentos correspondentes ao Padrão de Acesso atual

desta consulta, caso este exista.

Os documentos pertencentes a esta listagem podem ser utilizados para o re-

ranqueamento dos resultados originais do Mecanismo de Busca, pois refletem a

seqüência de documentos de interesse atual dos usuários que realizaram esta consulta.

As opções PróximoPadrão e PadrãoAnterior são habilitadas apenas nos casos

em que existam diversos padrões que atendam a aplicação conjunta das duas regras de

relevância: ‘Padrão de Maior Suporte’, e dentre estes, ‘Padrão de Maior Tamanho’.

Ao se clicar na opção Nova Simulação, o processo é reinicializado, podendo-se

fornecer outra Expressão de Consulta, outro idioma e outra Expressão Expandida.

115

Page 125: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

5.4 – Resultados

Com o intuito de demonstrar os benefícios do uso de Prospecção de Dados no

apoio à Gestão de Conhecimento em um portal Web, de acordo com os objetivos deste

trabalho, a ferramenta tecnológica cujo desenvolvimento foi proposto, pôde ser avaliada

de acordo os resultados obtidos com a execução das aplicações apresentadas na sessão

anterior.

O processo de Prospecção de Dados foi realizado a partir dos dados disponíveis

nos arquivos de logs de buscas da Biblioteca Virtual do Café, relativos às consultas

realizadas no período de 05/04/2001 a 29/09/2003, utilizando-se um total de 61012

registros constituintes da tabela Consulta. A Consulta Tradicional é a categoria de busca

dominante nos arquivos de log da Biblioteca Virtual do Café devido ser recente a

incorporação das demais categorias. No entanto, optou-se por utilizar os acessos reais

relativos às Consultas Cooperativas, mesmo sendo estes em número reduzido, e não

registros fictícios, o que acarretou a descoberta de poucos padrões de acesso, porém

utilizando-se dados fiéis à atual utilização desta categoria de busca. Esta opção foi feita

para que após a utilização da ferramenta proposta no SBICafé possa-se, futuramente,

avaliar a evolução desta categoria de consulta.

Para se indicar os benefícios atuais que podem ser proporcionados pela

ferramenta aos Engenheiros do Domínio em sua tarefa de manutenção da ontologia, é

listado o conhecimento resultante de cada opção da aplicação desenvolvida para estes

usuários da ferramenta:

- Padrões de Acesso a Consultas Cooperativas: as expansões e os documentos

listados podem ser utilizados pelos Engenheiros do Domínio para o

conhecimento de quais as relações atuais entre os termos existentes na

ontologia são de interesse dos usuários, e quais documentos a elas associados

são mais freqüentemente acessados juntos em uma consulta. Tal

conhecimento possibilita o acesso às características dos documentos que

constituem um padrão de acesso relativo ao uso de determinados termos e

relações da ontologia, podendo sugerir alterações na ontologia com o intuito

de incluir/alterar/excluir termos e relações que propiciem o retorno de um

maior número de documentos com características semelhantes aos

apresentados no padrão de acesso.

116

Page 126: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

- Expansões mais Requisitadas ao Tesauro: o conhecimento resultante desta

opção indica quais os termos e relações atuais existentes na ontologia são de

maior necessidade para o usuário.

- Expansões mais Acessadas: o conhecimento resultante desta opção indica

quais os termos e relações atuais existentes na ontologia que são de maior

interesse dos usuários.

- Expansões não Acessadas: o conhecimento resultante desta opção indica

quais as relações atuais entre os termos existentes na ontologia que não são

de interesse dos usuários.

- Expansões sem Respostas: o conhecimento resultante desta opção apresenta

quais são as relações atuais entre os termos existentes na ontologia que

podem ser de interesse dos usuários, mas que não contêm documentos a elas

associados.

- Documentos Retornados: este conhecimento indica quais as relações atuais

entre os termos existentes na ontologia que podem ser de interesse dos

usuários e quais os documentos a elas associados.

As justificativas acima sugerem que as opções disponibilizadas pela ferramenta,

destinadas a auxiliar os Engenheiros do Domínio no processo de manutenção da

ontologia, representam uma forma relevante de aquisição de conhecimento para a

realização desta tarefa, pois apresentam características das utilizações de termos e

relações da ontologia, refletindo as reais necessidades dos usuários do SBICafé.

Tais considerações indicam que aplicações de algoritmos de prospecção de

dados, dentre eles o algoritmo WAP-mine, podem ser desenvolvidas de acordo com as

necessidades explicitadas pelos Engenheiros do Domínio, retornando conhecimentos

que lhes sejam úteis na tarefa de manutenção da ontologia.

Para ilustrar a indicação citada, o algoritmo WAP-mine foi utilizado para a

implementação de uma nova opção destinada à obtenção de Padrões de Acesso à

Ontologia, cuja interface pode ser visualizada na Figura 5.18:

117

Page 127: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Figura 5.18: Interface da Aplicação de Padrões de Expansões Requisitadas à Ontologia.

Nesta opção, para cada agrupamento de duplas (Idioma + Chave), denominado

como um tipo de consulta, foram gerados os padrões das expansões escolhidas pelos

usuários, levando-se em consideração as seqüências de expansões mais freqüentemente

requisitadas conjuntamente em uma determinada consulta.

As expansões pertencentes à listagem permitem que os Engenheiros do Domínio

tenham conhecimento das relações entre os termos existentes na ontologia que

constituem os padrões de interesse dos usuários ao realizarem uma determinada

consulta. Este conhecimento pode ser utilizado para auxiliá-los na manutenção da

ontologia por indicar relações entre termos que devem ser adicionadas, alteradas ou

excluídas, de acordo com o uso atual da ontologia no portal.

As opções PróximoPadrão e PadrãoAnterior são habilitadas apenas nos casos

em que existam diversos padrões que atendam a aplicação conjunta das regras de

relevância. Ao se clicar na opção Nova Simulação, o processo é reinicializado,

podendo o Engenheiro do Domínio fornecer outra Expressão de Consulta, outro idioma

e outra Regra de Relevância.

Tais padrões poderiam, ainda, corresponder à seqüência de expansões mais

freqüentemente escolhidas em cada tipo de consulta ou em todos os tipos de consultas,

considerando-se as seqüências de expansões mais freqüentemente escolhidas

conjuntamente em todos os tipos de consultas etc., utilizando-se o próprio algoritmo

WAP-mine.

118

Page 128: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

No caso do Mecanismo de Busca, para se validar os benefícios atuais que lhe

podem ser proporcionados pelo uso da ferramenta, foi realizada uma comparação entre

os Padrões de Acesso a Consultas Cooperativas realizadas na Biblioteca Virtual do Café

e o ranqueamento atual dos documentos exibidos aos seus usuários em suas buscas. O

resultado desta comparação, para o exemplo de padrão mostrado na Figura 5.17, pode

ser visualizado na Tabela 5.1.

Comparativo entre os Padrões de Acesso a Consultas Cooperativas e

ranqueamento atual dos documentos retornados pela Biblioteca Virtual do Café

Chave Chave-Expandida Padrão de Acesso Documentos Retornados

irrigação

FERTIRRIGACAO 155552

155556

155537_Art242 155537_Art245

155585_Art058 156896_Art10

1555537_Art275 155537_Art351

155537_Art229 156896 155553

155537_Art233 155552_Art13

155537_Art223 155556 ...

155552 155552_Art10

Tabela 5.1: Resultado da comparação entre os Padrões de Acesso e o Ranqueamento

Atual dos Documentos Retornados pela Biblioteca Virtual do Café.

Na Tabela 5.1 podemos observar que o documento de código 155552, que

representa o primeiro documento do Padrão de Acesso é o penúltimo do rank, na

posição nº 42 e o documento 155556 ocupa a posição nº 12 do rank. Este resultado, e

outros exemplos testados sugerem que a utilização da Base de Padrões de Acesso a

Consultas Cooperativas no re-ranqueamento dos resultados obtidos pelo Mecanismo de

Busca da Biblioteca Virtual do Café, é capaz de proporcionar um re-ranqueamento dos

documentos que reflita melhor os reais interesses dos usuários, tornando o processo de

busca mais eficiente.

Assim, apesar da ferramenta ainda não ter sido testada in-house, as observações

realizadas acerca das simulações das aplicações destinadas à manutenção da ontologia e

no re-ranqueamento dos resultados do mecanismo de busca, sugerem que a utilização de

“Prospecção de Dados no Apoio à Gestão de Conhecimento em um Portal Web”

possibilita a geração de conhecimentos úteis para a otimização deste processo, o que

indica a possibilidade de obtenção dos benefícios especificados na proposta desta

dissertação. 119

Page 129: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

6 – Conclusões e Trabalhos Futuros

Neste capítulo são apresentadas algumas conclusões obtidas após a realização

deste trabalho e algumas possibilidades de trabalhos futuros a partir dos estudos

realizados.

6.1 – Conclusões

A complexidade e a falta de organização formal da Web levam inevitavelmente à

necessidade de mecanismos automáticos que ajudem as pessoas a diminuírem a

sobrecarga de informações e a se comunicarem de forma mais eficaz e eficiente, e assim

a área de Web Intelligence (WI) está impulsionando o desenvolvimento de tecnologias

que tenham estas finalidades, sendo que este trabalho representa uma destas iniciativas.

Quanto à escolha do algoritmo a ser utilizado para se alcançar os propósitos

definidos para a ferramenta utilizando-se a técnica de prospecção de dados, pode-se

confirmar as afirmações da literatura quanto às dificuldades relacionadas a esta etapa.

Inicialmente foram estudados vários algoritmos destinados à geração de regras de

associação, seguido pelo estudo de algoritmos destinados à geração de padrões

seqüenciais sendo que, nos dois casos foram realizadas tentativas de adaptação dos

algoritmos para se propor a solução do problema em questão. No caso de regras de

associação, como a ordem dos elementos acessados não é considerada, nenhuma

adaptação foi satisfatória. Quanto à utilização de padrões seqüenciais, o algoritmo mais

estudado é o GSP [Srikant & Agrawal, 1996], o qual executa prospecção de padrões

através de múltiplas inspeções do banco de dados, o que caracteriza a base da heurística

Apriori. Entretanto, quando o tamanho das seqüências aumenta e/ou quando as

transações são grandes, o número de seqüências candidatas geradas pode crescer

exponencialmente, e o algoritmo GSP encontrará dificuldades. Assim, tratando-se de

um portal Web no qual deseja-se acoplar melhoramentos em seu mecanismo de busca, é

esperado que o número de consultas e resultados acessados apresente um crescimento

substancial, tendo sido descartada a abordagem GSP.

Após a realização de outras pesquisas, foi localizado o algoritmo WAP-mine

[Pei et al., 2000], que se apresentou como o mais adequado às tarefas a serem

executadas e que, portanto tornou-se o algoritmo escolhido para a resolução do

problema proposto, tendo como consideração chave facilitar as tediosas operações de

120

Page 130: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

contagem de suporte e geração de candidatos no procedimento de prospecção. O

algoritmo WAP-mine retorna o conjunto completo de padrões de acesso sem

redundância apresentando vantagens significativas comparado àqueles baseados em

Apriori. Em primeiro lugar, a WAP-tree é uma estrutura de dados eficaz, e registra

todas as informações dos contadores para a prospecção de padrões, livrando-se o

processo de prospecção da contagem de candidatos pelo casamento de padrões.

Segundo, a estratégia de busca condicional estreita o espaço de busca eficientemente, e

faz um melhor uso da estrutura da WAP-tree, evitando o problema de geração explosiva

de candidatos como acontece em algoritmos como o Apriori.

Quanto ao desenvolvimento e utilização da ferramenta proposta, foram atingidos

os objetivos específicos de se coletar os registros de utilização do mecanismo de busca

do portal Web pelos seus usuários e a utilização da prospecção de dados para a obtenção

de padrões de acesso visando-se a geração de conhecimento relevante para a

manutenção da ontologia e para o re-ranqueamento dos resultados do mecanismo de

busca, o que pode ser considerado como um encaminhamento à personalização das

informações disponíveis no portal, contribuindo-se assim para o processo de Gestão de

Conhecimento neste domínio específico.

Desta forma, um ponto muito explorado neste trabalho foi o uso do

conhecimento sobre os acessos realizados pelos usuários do portal e suas necessidades

de informação para auxiliá-los em suas consultas. A ferramenta desenvolvida tem

acesso à coleta de informações relacionadas aos termos da ontologia selecionados pelo

usuário em uma consulta cooperativa, bem como do contexto no qual estes termos

foram selecionados. Essas informações foram usadas para gerar o Histórico das

Consultas Cooperativas e a Base de Padrões de Acesso a Consultas Cooperativas.

Como demonstrado no capítulo anterior, o uso destas bases de conhecimento

pode aprimorar a ontologia incorporada ao portal, a partir da possibilidade de maior

eficiência no processo de sua manutenção. Por sua vez, a melhoria deste processo

otimiza o funcionamento do mecanismo de busca cujos padrões de acesso realimentam

as informações necessárias para a manutenção da ontologia. Assim, forma-se um

processo cíclico que deve ser utilizado conjuntamente e continuamente para que se

possa alcançar a solidificação das funcionalidades da ferramenta.

Portanto, o uso de prospecção de dados em um portal Web contendo uma fonte

de conhecimento sobre o domínio a ser consultado, representado por uma ontologia,

mostra-se como uma grande possibilidade de se obter conhecimento útil e inicialmente

desconhecido, relevante ao processo de Manutenção da Ontologia, permitindo que 121

Page 131: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

essas representem o real entendimento e interesse do usuário do portal Web. A partir da

indicação da aplicabilidade da prospecção de dados como uma forma de aquisição de

padrões de acessos a documentos retornados em uma busca no portal utilizando-se a

ontologia, outros tipos de padrões podem ser gerados utilizando-se o algoritmo WAP-

mine, por ser uma abordagem eficiente para a questão de geração de padrões a partir de

arquivos de logs da Web, podendo-se oferecer substanciais fontes de conhecimento para

a otimização do processo de manutenção da ontologia.

Da mesma forma, os resultados obtidos indicam ser possível atingir uma

melhoria substancial na eficiência das buscas realizadas com a utilização da ontologia,

possibilitando a ordenação dos documentos retornados de acordo com os reais padrões

de acesso aos documentos, permitindo assim que o mecanismo de busca possa

beneficiar-se da Filtragem Colaborativa em sua política de ranqueamento. A partir da

possibilidade da geração de padrões apresentada neste trabalho, outros padrões podem

ser gerados para a otimização das buscas no portal.

Em ambos os casos, resultados mais significativos poderão ser observados a

partir da incorporação das funcionalidades propostas pela ferramenta ao portal SBICafé,

para com isto ter-se os subsídios necessários para a realização de avaliações mais

detalhadas, que demonstrem a otimização do processo de manutenção da ontologia e do

desempenho das consultas realizadas, e incentivando o trabalho em busca de novos

padrões de uso do portal. No entanto, a real utilização desta proposta depende de

questões de interesse por parte dos responsáveis pelo SBICafé, as quais esperamos ser

favoráveis após tornarem-se conhecedores das suas possibilidades de otimização. Além

disto, necessita-se de um período substancial de experimentação da ferramenta proposta

para se ter uma Base de Padrões de Acesso, quantitativamente e qualitativamente mais

adequada, no que diz respeito à utilização da categoria de Consulta Cooperativa.

122

Page 132: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

6.2 – Trabalhos Futuros

Alguns pontos que não foram abordados neste trabalho podem ser citados como

possibilidades de pesquisas futuras e/ou aprimoramentos relacionados à ferramenta

desenvolvida:

- A primeira extensão proposta é a incorporação da ferramenta desenvolvida

ao portal SBICafé, objetivando-se a análise dos resultados in-house. Ao ser

aplicada esta extensão, sugere-se a substituição da Consulta Convencional

pela Consulta Cooperativa, ou seja, para todo usuário que realize uma

consulta deve ser oferecida a oportunidade de expandi-la, caso ele deseje, o

que ampliaria satisfatoriamente a utilização do tesauro, possibilitando uma

melhor análise do comportamento do usuário ao realizar buscas no portal.

- Outras opções podem ser acrescentadas à aplicação destinada aos

Engenheiros do Domínio, de acordo com as necessidades que forem

detectadas para a manutenção da ontologia, a partir do Histórico de Buscas e

da Base de Padrões de Acesso.

- Outros tipos de padrões devem ser gerados utilizando-se o algoritmo WAP-

mine, visto que este se apresentou como um dos algoritmos mais eficientes

no tratamento de dados de uso a partir de logs da Web, podendo-se oferecer

substanciais fontes de conhecimento para a otimização do processo de

manutenção da ontologia. Assim, dentre as atuais possibilidades, pode-se

citar expansões da instância de Padrões de Acesso à Ontologia (Figura 5.18),

podendo-se explorar, dentre diversos outros possíveis interesses dos

Engenheiros do Domínio:

- Padrões de acessos satisfatórios à ontologia: para cada consulta (ou

todos os tipos de consultas) gerar os padrões das expansões

escolhidas pelos usuários que satisfizeram suas expectativas.

- Padrões de acessos insatisfatórios à ontologia: para cada tipo de

consulta (ou todos os tipos de consultas) gerar os padrões das

123

Page 133: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

expansões escolhidas pelos usuários que não satisfizeram suas

expectativas.

- Padrões de caminhos de acesso à ontologia: para cada tipo de

consulta (ou todos os tipos de consultas) gerar os padrões dos

caminhos de acessos à ontologia, sendo os possíveis caminhos: o

acesso direto aos documentos a partir da lista de itens da ontologia

disponibilizados ou o acesso a documentos retornados pela consulta

expandida ou o acesso aos documentos adicionais incluídos com o

uso da ontologia.

- A ferramenta desenvolvida poderá ser estendida no sentido de englobar as

Consultas Guiadas pelo Tesauro, caso este tipo de consulta torne-se uma

categoria de uso mais dominante, podendo-se avaliar os resultados

provenientes desta utilização.

- Neste trabalho optou-se pela análise anônima dos padrões de consultas

cooperativas, não se utilizando conhecimento demográfico sobre os usuários,

o que é disponibilizado pelo portal, podendo assim, ser estudada a sua

viabilidade como forma de customização das buscas realizadas por cada um

dos usuários individuais. Assim, na utilização de padrões de acesso pelo

mecanismo de busca, pode-se criar perfis de usuários, baseados em

determinadas características demográficas e/ou seus padrões de consultas e

acessos, podendo utilizá-los como mais um subsídio para o re-ranqueamento

dos resultados das buscas realizadas por estes usuários, constituindo mais um

passo em direção à possibilidade de personalização das buscas no portal.

- Outra, importante e ainda não explorada, possibilidade é a anotação

semântica dos itens de conhecimento com termos da ontologia. Este tipo de

anotação foi previsto pela aplicação de [Pontes, 2002], o que necessita de um

trabalho em volume considerável, devendo ser realizado por pessoas que

possuam conhecimento do domínio. Espera-se que este tipo de anotação

melhore significativamente o desempenho das consultas e possibilite a

geração de conhecimento a ser utilizado na otimização da tarefa de

manutenção da ontologia. Segundo [Pontes, 2002], as iniciativas 124

Page 134: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

relacionadas com a Web Semântica trabalham no sentido de criar ontologias,

padrões e ferramentas que façam uso destes padrões para a anotação

semântica das páginas Web. A necessidade de produzir conteúdo

semanticamente anotado representa o principal obstáculo para o surgimento

pleno da Web Semântica.

125

Page 135: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

7 – Bibliografia

[Agrawal et al., 1993] AGRAWAL, R.; IMIELINSKI, T.; SWAMI, A. Mining Association Rules between Sets of Items in Large Databases. In: ACM SIGMOD INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 1993, Washington. Proceedings... 1993. p. 207-216.

[Agrawal & Srikant, 1994] AGRAWAL, R.; SRIKANT, R. Fast Algorithms for Mining Association Rules. In: INTERNATIONAL CONFERENCE ON VLDB, 20., 1994, Santiago. Proceedings... 1994. p. 487-499.

[Agrawal & Srikant, 1995] AGRAWAL, R.; SRIKANT, R. Mining Sequential Patterns. In: INTERNATIONAL CONFERENCE DATA ENGINEERING – ICDE, 11., 1995, Taipei. Proceedings... 19995. p. 3-14.

[Armstrong et al., 1995] ARMSTRONG, R.; FREITAG, D.; JOACHIMS, T. Webwatcher: A Learning Apprentice for the World Wide Web. In: AAAI SPRING SYMPOSIUM ON INFORMATION GATHERING FROM HETEROGENEOUS, DISTRIBUTED ENVIRONMENTS, 1995. Papers... 1995. p. 6-12.

[Ayres et al., 2002] AYRES, J., et al. Sequential Pattern Mining Using a Bitmap Representation. In: ACM SIGKDD INTERNATIONAL CONFERENCE ON KNOWLEDGE DISCOVERY AND DATA MINING, 8., 2002, Edmonton. Proceedings... 2002.

[Bastide et al., 2000] BASTIDE, Y., et al. Levelwise Search of Frequent Patterns with Counting Inference. In: DBA'2000, 2000. Proceedings... 2000. p. 177-196.

[Bayardo Jr., 1998] BAYARDO JR., R.. J. Efficiently Mining Long Patterns from Databases. In: ACM-SIGMOD INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 1998. Proceedings... 1998. p. 85-93.

[Becerra-Fernandez, 2001] BECERRA-FERNANDEZ, I. Locating Expertise at NASA: Developing a Tool to Leverage Human Capital. Knowledge Management Review, v. 4, p. 34-37, Sep./Oct. 2001.

[Benjamins & Martin, 2000] BENJAMINS, V. R.; Martin, F. J. Knowledge Management for Internet Companies. In: IFIP WORLD COMPUTER CONGRESS, 16., 2000. Proceedings of International Conference on Intelligent Information... 2000.

[Bharat & Henzinger, 1998] BHARAT, K.; HENZINGER, M. R. Improved Algorithms for Topic Distillation in a Hyperlinked Environment. In: ANNUAL INTERNATIONAL ACM CONFERENCE ON RESEARCH AND DEVELOPMENT IN INFORMATION RETRIEVAL - SIGIR, 21., 1998, Melbourne. Proceedings... 1998. p.104-111.

126

Page 136: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

[Booch et al., 1998] BOOCH, G.; RUMBAUGH, J.; JACOBSON, I. The Unified Modeling Language User Guide. Addison Wesley, 1998.

[Brachman & Anand, 1996] BRACHMAN, R.; ANAND, T. The Process of Knowledge Discovery in Databases: A Human-Centered Approach. In: Advances in Knowledge Discovery and Data Mining. Menlo Park: AAAI Press, 1996. p.36-37.

[Brin et al., 1997] BRIN, S., et al. Dynamic Itemset Counting and Implication Rules for Market Basket Data. In: ACM-SIGMOD INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 1997. Proceedings.. 1997.

[Brin & Page, 1998] BRIN, S.; PAGE, L. The Anatomy of a Large-Scale Hypertextual Web Search Engine. In: INTERNATIONAL WORLD WIDE WEB CONFERENCE, 7., 1998, Brisbane. Proceedings... New York: ACM Press, 1998. p. 107-117.

[Chakrabarti et al., 1998] CHAKRABARTI, S.; DOM, B.; INDYK, P. Enhanced Hypertext Categorization Using Hyperlinks. In: ACM SIGMOD INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 1998, Seattle. Proceedings...1998. p.307-318.

[Chakrabarti et al., 1999] CHAKRABARTI, S., et al. Mining the Link Structure of the World Wide Web. IEEE Computer, v. 32, n. 8, p. 60-67, 1999.

[Chen et al., 1996] CHEN, M.; HAN, J.; YU, P. S. Data Mining: An Overview from Database Perspective. Journal IEEE Trans. Knowledge and Data Engineering, n. 8, p. 886-883, 1996.

[Cheung et al., 1996] CHEUNG, D. W., et al. Maintenance of Discovery Association Rules in Large Databases: An Incremental Updating Technique. In: INTERNATIONAL CONFERENCE ON DATA ENGINEERING, 12., 1996. Proceedings...1996.

[Cheung et al., 1997] CHEUNG, D. W.; LEE, S. D.; KAO, B. A General Incremental Technique for Maintaining Discovery Association Rules. In: INTERNATIONAL CONFERENCE ON DATABASES SYSTEMS FOR ADVANCED APPLICATIONS, 5., 1997, Melbourne. Proceedings...1997.

[Chiang et al., 2001] CHIANG, R. H. L.; CHUA, C. E. H.; STOREY, V. C. A Smart Web Query Method for Semantic Retrieval of Web Data. Knowledge and Data Engineering, n. 38, p. 63-84, 2001.

[Cooley, 2000] COOLEY, R. Web Usage Mining: Discovery and Application of Interesting Patterns from Web Data. 2000. Ph.D. Thesis - University of Minnesota, Minneapolis.

[Cooley et al., 1997] COOLEY, R.; MOBASHER, B.; SRIVASTAVA J. Web Mining: Information and Pattern Discovery on the World Wide Web. In: IEEE INTERNATIONAL CONFERENCE ON TOOLS WITH ARTIFICIAL INTELLIGENCE - ICTAI, 9., 1997. Proceedings...1997.

127

Page 137: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

[Cooley et al., 1999] COOLEY, R.; MOBASHER, B.; SRIVASTAVA, J. Data Preparation for Mining World Wide Web Browsing Patterns. Journal of Knowledge and Information Systems, v. 1, n. 1, February 1999.

[Das et al., 2001] DAS, A.; NG, W.; WOON, Y. Rapid Association Rule Mining. In: CIKM, 2001. Proceedings... 2001. p. 5-10.

[Doorenbos et al., 1997] DOORENBOS, R. B.; ETZIONI, O.; WELD, D. S. A Scalable Comparison Shopping Agent for the World Wide Web. In: INTERNATIONAL CONFERENCE ON AUTONOMOUS AGENTS – AGENTS’97, 1., 1997, New York. Proceedings... 1997. p. 39-48.

[Doug, 1997] DOUG, D. Data Mining The Mail. Forbes, p. 112, 24, February 1997.

[Etzioni, 1996] ETZIONI, O. The World Wide Web: Quagmire or Gold Mine. Communications of the ACM, v. 39, n.11, p.65-68, 1996.

[Fayyad et al., 1996] FAYYAD, U.; PIATETSKY-SHAPIRO, G.; SMYTH, P. From Data Mining to Knowledge Discovery: An overview. In: Advances in Knowledge Discovery and Data Mining. Menlo Park: AAAI Press, 1996, p.1-36.

[Feldens, 1997] FELDENS, M. A. Engenharia da Descoberta de Conhecimento em Bases de Dados: Estudo e aplicação na área de saúde. 1997. Dissertação de Mestrado – Universidade Federal do Rio Grande do Sul, Porto Alegre.

[Fensel, 2000] FENSEL, D. The Semantic Web and its Languages. IEEE Intelligent Systems, v. 15, n. 6, p. 67, Nov/Dec 2000.

[Fensel et al., 2001] FENSEL, D. et al. OIL: An Ontology Infrastructure for the Semantic Web. IEEE Intelligent Systems, v. 16, n. 2, p. 38-45, Mar/Apr 2001.

[Fernandes, 1998] FERNANDES, J. H.C. Ciberespaço: Modelos, Tecnologias, Aplicações e Perspectivas. In: DE MOURA, Hermano P. XVII Jornada de Atualização em Informática – JAI. 1998. v. 2.

[Fischer & Ostwald, 2001] FISCHER, G.; OSTWALD, J. Knowledge Management: Problems, Promises, Realities and Challenges. IEEE Intelligent Systems, v. 16, n. 1, p. 60-72, Jan/Feb 2001.

[Frainer, 1993] FRAINER, A. S. Planos na Interação Homem-Máquina. 1993. Dissertação de Mestrado. Universidade Federal do Rio Grande do Sul, Porto Alegre.

[Garofalakis et al., 1999] GAROFALAKIS, M. Data Mining and the Web: Past, Present and Future. In: ACM WORKSHOP ON WEB INFORMATION AND DATA MANAGEMENT. 1999, Kansas. Proceedings...1999.

[Gouda & Zaki, 2001] GOUDA, K.; ZAKI, M. J. Efficiently Mining Maximal Frequent Itemset. In: IEEE CONFERENCE ON DATA MINING, 1., 2001. Proceedings...2001.

128

Page 138: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

[Gruber, 1993] GRUBER, T. R. A Translation Approach to Portable Ontology Specifications. Knowledge Acquisition, v. 5, p. 199-220, 1993.

[Gruninger & Lee, 2002] GRUNINGER, M.; LEE, J. Ontology - Applications and Design. Communications of the ACM, v. 45, n. 2, p. 39-41, February 2002.

[Guarino & Giaretta, 1995] GUARINO, N., GIARETTA, P. Ontologies and Knowledge Bases: Towards a Terminological Clarification. In: MARS, N. J., Towards Very Large Knowledge Bases, IOS Press, 1995.

[Gurovitz, 1997] GUROVITZ, H. O que Cerveja tem a ver com Fraldas? Exame, p. 23-25, Abril 1997.

[Han et al., 2000a] HAN, J., et al. FreeSpan: Frequent Pattern-Projected Sequential Pattern Mining. In: INTERNATIONAL CONFERENCE ON KNOWLEDGE DISCOVERY AND DATA MINING - KDD'00, 2000, Boston. Proceedings... 2000. p. 355-359.

[Han et al., 2000b] HAN, J.; PEI, J., YIN, Y. Mining Frequent Patterns Without Candidate Generation. In: ACM-SIGMOD INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 2000, Dallas. Proceedings...2000.

[Han et al., 2002] HAN, J., et al. Emerging Scientific Applications in Data Mining. Communications of the ACM, v. 45, n. 8, p. 54-58, August 2002.

[Harmelen, 2000] HARMELEN, F. V. FAQs on OIL: The Ontology Inference Layer. IEEE Intelligent Systems, v. 15, n. 6, p. 69-73, Nov/Dec 2000.

[Holsapple & Joshi, 2002] HOLSAPPLE, C. W.; JOSHI, K. D. A Collaborative Approach to Ontology Design. Communications of the ACM, v. 45, n. 2, p. 42-47, February 2002.

[Jennings, 2002] JENNINGS, M. F. What are the Major Comparisons or Differences Between Web Mining and Data Mining. DM Review Online, June 2002.

[Joachims et al., 1997] JOACHIMS, T.; FREITAG, D.; MITCHELL, T. WebWatcher: A Tour Guide for the World Wide Web. In: INTERNATIONAL JOINT CONFERENCE ON ARTIFICIAL INTELLIGENCE – IJCAI’97, 15., 1997, Nagoya. Proceedings... 1997. p. 770-775.

[Jones et al., 1998] JONES, D.; BENCH-CAPON, T.; VISSER, P. Methodologies for Ontology Development. In: IFIP WORLD COMPUTER CONGRESS, 15., 1998, Budapest. Proceedings of IT & Knowledge Conference...1998.

[Kato et al., 2000] KATO, H.; NAKAYAMA, T.; YAMANE, Y. Navigation Analysis Tool Based on the Correlation Between Contents Distribution and Access Patterns. In: WEBKDD’2000, 2000, Boston.. Proceedings of Workshop On Web Mining For E-Commerce - Challenges And Opportunities... 2000.

129

Page 139: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

[Kietz et al., 2000] KIETZ, J.; MAEDCHE, A.; VOLZ, R. A Method for Semi-Automatic Ontology Acquisition from a Corporate Intranet. In: INTERNATIONAL CONFERENCE ON KNOWLEDGE ENGINEERING AND KNOWLEDGE MANAGEMENT, 2000, Juan-Leb-Pins. Proceedings of Workshop on “Ontologies and Text”...2000.

[Kimball & Merz, 2000] KIMBALL, M. The Data Webhouse Toolkit: Building The Web-Enabled Data Warehouse. 1. edition. New York: John Wiley & Sons, 2000.

[Kleinberg, 1998] KLEINBERG, J. M. Authoritate Sources in a Hyperlinked Environment. In: ACM-SIAM SYMPOSIUM ON DISCRETE ALGORITHMS, 9., 1998, Baltimore. Proceedings... 1998. p. 668-677.

[Kleinberg & Lawrence, 2001] KLEIBERG, J. M.; LAWRENCE, S. The Structure of the Web. Science, v. 294, p. 1849-1850, November 2001.

[Kobayashi & Takeda, 2000] KOBAYASHI, M.; TAKEDA, K. M. Information Retrieval on the Web. ACM Computing Surveys, v. 32, n. 2, p. 144-173, June 2000.

[Kohavi & Becher, 2001] KOHAVI, R.; BECHER, J. E-commerce and Clickstream Mining: Tutorial. In: SIAM INTERNATIONAL CONFERENCE ON DATA MINING, 2001. Proceedings...2001.

[Konopnicki & Shmueli, 1996] KONOPNICKI, D.; SHMUELI, O. Early Experiences with W3QS - A WWW Information Gathering System. In: IEEE CONVENTION OF ELECTRICAL AND ELECTRONICS ENGINEERS, 19., 1996, Israel. Proceedings... 1996.

[Kosala & Blockeel, 2000] KOSALA, R.; BLOCKEEL, H. Web Mining Research: A Survey. ACM SIGKDD Explorations, v. 2, n. 1, p. 1-15, July 2000.

[Kumar et al., 1999] KUMAR, S. R., et al. Trawling the Web for Emerging Cyber-Communities. In: WORLD WIDE WEB CONFERENCE –WWW’8, 8., 1999. Proceedings...1999.

[Lawrence, 2000] LAWRENCE, S. Context in Web Search. IEEE Data Engineering Bulletin, v. 23, n. 3, p.25-32, 2000.

[Lieberman, 1995] LIEBERMAN, H. Letizia: An agent that Assists Web Browsing. In: INTERNATIONAL JOINT CONFERENCE ON ARTIFICIAL INTELLIGENCE - IJCAI'95, 14., 1995, Montreal. Canada, Proceedings... 1995. p. 924-929.

[Lin & Lee, 1998] LIN, M.; LEE, S. Incremental Update on Sequential Patterns in Large Databases. In: TOOLS FOR ARTIFICIAL INTELLIGENCE CONFERENCE - TAI'98, 1998. Proceedings... 1998. p. 24-31.

[Loh & Garin, 2001] LON, S.; GARIN, R. S. Web Intelligence - Inteligência Artificial para Descoberta de Conhecimento na Web. In: V Oficina de Inteligência Artificial da Universidade Católica de Pelotas. Pelotas: EDUCAT, 2001. p.11-34.

130

Page 140: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

[Ma et al., 2000] MA, Y.; LIU, B.; WONG, C.K. Web for Data Mining: Organizing and Interpreting the Discovered Rules Using the Web. ACM SIGKDD Explorations, v. 2, n. 1, p. 16-23, July 2000.

[Maedche & Staab, 2001] MAEDCHE, A.; STAAB, S. Ontology Learning for Semantic Web. IEEE Intelligent Systems, v. 16, n. 2, p. 72-79, Mar/Apr 2001.

[Masseglia et al., 2000] MASSEGLIA, F.; PONCELET, P.; TEISSEIRE, M. Incremental Mining of Sequential Patterns in Large Databases. In: BDA’00, 2000, Blois. Proceedings of Actes des 16 ièmes Journées Bases de Données Avancées...2000.

[Merialdo et al., 1997] MERIALDO, P.; ATZENI, P.; MECCA, G. Semistructured and structured data in the web: Going back and forth. In: ACM SIGMOD, 1997. Proceedings of Workshop on the Management of Semistructured Data...1997.

[Mobasher et al., 1996] MOBASHER, B. et al. Web Mining: Pattern Discovery from World Wide Web Transactions. 1996. Technical Report TR-96050 - Department of Computer Science, University of Minnesota, Minneapolis.

[Mobasher et al., 2000a] MOBASHER, B.; COOLEY, R.; SRIVASTAVA, J. Automatic Personalization Based on Web Usage Mining. Communications of the ACM, v. 43, n. 8, p. 142-151, August 2000.

[Mobasher et al., 2000b] MOBASHER, B., et al. Integrating Web Usage and Content Mining for More Effective Personalization. In: INTERNATIONAL CONFERENCE ON E-COMMERCE AND WEB TECHNOLOGIES – ECWEB, 2000, Greenwich. Proceedings... LNCS - Lecture Notes in Computer Science. London: Springer-Verlag, 2000. v. 1875, p. 165-176.

[Moxon, 1996] MOXON, B. Defining Data Mining. DMS Data Warehouse Supplement, August 1996.

[Park et al., 1995] PARK, J. S.; CHEN, M.; YU, P. S. An Effective Hash-Based Algorithm for Mining Association Rules. In: ACM SIGMOD INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 1995, San Jose. Proceedings...1995. p. 175-186.

[Parthasarathy et al., 1999] PARTHASARATHY, S., et al. Incremental and Interactive Sequence Mining. In: INTERNATIONAL CONFERENCE ON INFORMATION AND KNOWLEDGE MANAGEMENT, 8., 1999, Kansas. Proceedings...1999. p. 251-258.

[Pasquier et al., 1999] PASQUIER, N., et al. Efficient Mining of Association Rules Using Closed Itemset Lattices. Information Systems, v. 24, n. 1, p. 25-46, March 1999.

[Pei et al., 2000] PEI, J., et al. Mining Access Patterns Efficiently from Web Logs. In: PACIFIC-ASIA CONFERENCE ON KNOWLEDGE DISCOVERY AND DATA MINING - PAKDD'00, 2000, Kyoto. Proceedings...2000.

131

Page 141: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

[Pei et al., 2001] PEI, J., et al. PrefixSpan: Mining Sequential Patterns Efficiently by Prefix-Projected Pattern Growth. In: INTERNATIONAL CONFERENCE IN DATA ENGINEERING – ICDE'01, 2001. Proceedings...2001. p. 215-224.

[Perkowitz & Etzioni, 2000] PERKOWITZ, M.; ETZIONI, O. Adaptive Web Sites. Communications of the ACM, v. 43, n. 8, p. 152-158, August 2000.

[Pirolli et al., 1996] PIROLLI, P.; PITKOW, J.; RAO, R. Silk from a Sow's Ear: Extracting Usable Structures from the Web. In: CONFERENCE ON HUMAN FACTORS IN COMPUTING SYSTEMS, 1996, Vancouver. Proceedings...1996. p.13-19.

[Pitkow, 1997] PITKOW, J. In Search of Reliable Usage Data on the WWW. In: INTERNATIONAL WWW CONFERENCE, 6., 1997. Proceedings...1997.

[Pitkow & Bharat, 1994 ] PITKOW, J. E.; BHARAT, K. A. WEBVIZ: a Tool for World Wide Web Access Log Analysis. In: INTERNATIONAL WWW CONFERENCE, 1., 1994. Proceedings...1994.

[Pontes, 2002] PONTES, F. V. Gestão de Conhecimento Apoiada por Ontologias. 2002. 142 f. Dissertação de Mestrado (Ciência da Computação) - Universidade Federal de Minas Gerais, Belo Horizonte.

[Sarda & Srinivas, 1998] SARDA, N. L.; SRINIVAS, N. V. An Adaptive algorithm for Incremental mining of association rules. In: CONFERENCE ON DATABASE AND EXPERT SYSTEMS, 9., 1998, Vienna. Proceedings... 1998. p. 240-245.

[Savasere et al., 1995] SAVASERE, A.; OMICCINSKI, E.; NAVATHE, S. An Efficient Algorithm for Mining Association Rules in Large Databases. In: INTERNATIONAL CONFERENCE ON VERY LARGE DATABASES, 21., 1995, Zurich. Proceedings... 1995. p. 432-444.

[Schwartz & Wood, 1993] SCHWARTZ; W. Discovering Shared Interest Using Graph Analysis. COMMUNICATIONS OF THE ACM, v. 36, n. 8, p. 78-89, August 1993.

[Schafer, 2001] SHAFER, J. B. E-commerce Recommendation Applications. Journal of Data Mining and Knowledge Discovery, v. 5, n. 1, January 2001.

[Shakshuki et al., 2002] SHAKSHUKI, E.; GHENNIWA, H.; KAMEL, M. An Architecture for Cooperative Information Systems. Knowledge-Based Systems, v. 16, n. 2003, p. 17-27, 2002.

[Shardanand & Maes, 1995] SHARDANAND, U.; MAES, P. Social information Filtering: Algorithms for Automating " Word of Mouth". In: ACM CONFERENCE ON HUMAN FACTORS IN COMPUTING SYSTEMS – CHI’95, 1995, Denver. Proceedings...1995.

[Spertus, 1998] SPERTUS, E. ParaSite: Mining the Structural Information on the World Wide Web. 1998. Ph.D. Thesis - Department of EECS, MIT, Cambridge, MA.

132

Page 142: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

[Spiliopoulou, 2000] SPILIOPOULOU, M. Web Usage Mining for Web Site Evaluation. Communications of the ACM, v. 43, n. 8, p. 127-134, August 2000.

[Spiliopoulou & Faulstich, 1998] SPILIOPOULOU, M.; FAULSTICH, L. C. WUM: A Web Utilization Miner. In: INTERNATIONAL WORKSHOP ON THE WEB AND DATABASES, 1998, Valencia. Proceedings...1998.

[Spiliopoulou et al., 1999] SPILIOPOULOU, M.; FAULSTICH, L. C.; WINKLER, K. A Data Miner Analyzing the Navigational Behavior of the Web Users. In: ACAI’99, 1999, Creta. Proceedings of Workshop On Machine Learning In User Modeling...1999.

[Spiliopoulou & Pohle, 2001] SPILIOPOULOU, M.; POHLE, C. Data Mining to Measure and Improve the Success of Web Sites. Journal of Data Mining and Knowledge Discovery, n. 5, p. 1-2, January 2001.

[Srikant & Agrawal, 1996] SRIKANT, R.; AGRAWAL, R. Mining Sequential Patterns: Generalizations and Performance Improvements. In: INTERNATIONAL CONFERENCE ON EXTENDING DATABASE TECHNOLOGY, 5., 1996, Avignon. Proceedings... 1996. p. 3-17.

[Srivastava et al., 2000] SRIVASTAVA, J., et al. Web Usage Mining: Discovery and Application of Usage Patterns from Web Data. ACM SIGKDD Explorations, v. 1, n. 2, p. 12-23, January 2000.

[Staab et al., 2001] STAAB, S. et al. Knowledge Processes and Ontologies. IEEE Intelligent Systems, v. 16, n. 1, p. 26-34, Jan/Feb 2001.

[Stedman, 1997] STEDMAN, C. Wal-Mart Mines for Forecasts. ComputerWorld, p. 63-64, May 1997.

[Studer et al., 2000] STUDER, R. et al. Situation and Perspective of Knowledge Engineering. In: CUENA, J., et al. Knowledge Engineering and Agent Technology. Amsterdam: IOS Press, 2000.

[Tucker, 1996] TUCKER, J. ShopKo Uses Datamining to Compete. Datamation, p. 42, May 1996.

[Wang, 1997] WANG, Ke. Discovering Patterns from Large and Dynamic Sequential Data. Journal of Intelligent Information System, v. 9, n. 1, p. 33-56, 1997.

[Wang, 2000] WANG, Y. Web mining and Knowledge Discovery of Usage Patterns. In: INTERNATIONAL WEB-AGE INFORMATION MANAGEMENT CONFERENCE - WAIM’2000, 1., 2000, Shanghai. Proceedings... 2000. p. 227-232.

[Wang et al., 2002] WANG, H.; MYLOPOULOS, J.; LIAO, S. Intelligent Agents and Financial Risk Monitoring Systems. Communications of the ACM, v. 45, n. 3, p. 83-88, March 2002.

133

Page 143: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

[Wasserman, 2000] WASSERMAN, M. Mining Data. Regional Review, v. 10, n. 3, 2000.

[Weiss & Indurkhya, 1998] WEISS, S. M.; INDURKHYA, N. Predictive Data Mining: A Practical Guide. San Francisco: Morgan Kaufmann Publishers, Inc., 1998.

[Wexelblat & Maes, 1997] WEXELBLAT; M. Footprints: History-rich Web Browsing. In: CONFERENCE ON COMPUTER-ASSISTED INFORMATION RETRIEVAL - RIAO, 1997. Proceedings... 1997. p. 75-84.

[Wu, 2002] WU, J. Business Intelligence: The Value in Mining Data. DM Review Online, February 2002.

[Xue et al., 2002] XUE, G., et al. Log Mining to Improve the Performance of Site Search. In: WISE'02, 2002, Singapore. Proceedings of Workshop On Mining Enhanced Web Search...2002.

[Yao et al., 2001] YAO, Y.Y., et al. Web Intelligent (WI): Research Challenges and Trends in the New Information Age. In: WEB INTELLIGENCE: RESEARCH AND DEVELOPMENT, 2001. Notes... Lecture Notes on Artificial Intelligence. Springer-Verlay, 2001.

[Yen & Cho, 2001] YEN, S.; CHO, C. An Efficient Approach for Updating Sequential Patterns Using Database Segmentation. International Journal of Fuzzy Systems, v. 3, n. 2, p. 422-431, June 2001.

[Zaïane et al., 1998] ZAÏANE, 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, 1998, Santa Barbara. Proceedings... 1998. p. 19-29.

[Zaïane, 1999a] ZAÏANE, O. R. Resource and Knowledge Discovery from the Internet and Multimedia Repositories. 1999. Ph.D. thesis - School of Computing Science, Simon Fraser University, Vancouver.

[Zaïane, 1999b] ZAÏANE, O. R. Principles of Knowledge Discovery in Databases. 1999. 15f. Technical Report CMPUT690, Department of Computing Science, University of Alberta, Edmonton.

[Zaïane, 2000] ZAÏANE, O. R. Web Mining: Concepts, Practices and Research. In: BRAZILIAN SYMPOSIUM ON DATABASES - SBBD'2000, 14., 2000, João Pessoa. Conference Notes... 2000. p. 410-474.

[Zaki, 1997] ZAKI, M. J. Fast Mining of sequential Patterns in Very Large Databases. 1997. Technical Report 558, The University of Rochester, New York.

[Zaki, 2001] ZAKI, M. J. SPADE: An Efficient Algorithm for Mining Frequent Sequences. Machine Learning, v. 40, p. 31-60, 2001.

134

Page 144: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

[Zheng et al., 2002] ZHENG, Q., et al. The Algorithms of Updating Sequential Patterns. In: SIAM CONFERENCE ON DATA MINING, 2., 2002. Proceedings of 5th International workshop on high performance data mining...2002.

[Zhong et al., 2000] ZHONG, N. et al. Web Intelligence (WI). In: IEEE INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE - COMPSAC, 24., 2000. Proceedings... 2000.

135

Page 145: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Apêndice A: Algoritmos para Prospecção de Dados

Neste apêndice serão apresentados, sumariamente, alguns dos algoritmos de

prospecção de dados que foram estudados durante este trabalho, mas que não se

mostraram compatíveis para a solução do problema proposto.

Algoritmos para Prospecção de Regras de Associação

[Agrawal et al., 1993] introduziu o problema de prospecção de regras de

associação entre conjuntos de itens de um grande banco de dados de transações de

clientes, sendo cada transação constituída de itens escolhidos por um cliente em uma

compra. O problema descrito é modelado formalmente da seguinte forma:

Tomando-se I = I1, I2,..., Im um conjunto de atributos binários chamados itens e

T um banco de dados de transações, cada transação t é representada por um vetor

binário, com t[k]=1 se t foi um item comprado e t[k]=0, caso contrário. Tomando-se X

como um conjunto de alguns itens de I, dizemos que uma transação t satisfaz X se para

todos os itens em X, t[k]=1. Uma regra de associação é representada por uma

implicação da forma X ⇒ Ij, onde X é um conjunto de alguns itens em I, e Ij é um item

simples em I que não está presente em X. A regra X ⇒ Ij é satisfeita no conjunto de

transações T com o fator de confiança 0 <= c <= 1 se, e somente se, pelo menos c% das

transações em T que satisfaçam X também satisfaçam Ij. Usa-se a notação X ⇒ Ij | c para

especificar que a regra X ⇒ Ij tem um fator de confiança c.

Dado o conjunto de transações T, o interesse é gerar todas as regras que

satisfaçam certas restrições adicionais de duas formas diferentes:

1. Restrições sintáticas: restrições que determinam itens que podem aparecer

em uma regra.

2. Restrições de Suporte (s): restrições que se referem ao número de transações

em T que suportam uma regra. O suporte para uma regra é definido como a

fração de transações em T que satisfazem à união de itens no conseqüente e

no antecedente da regra.

136

Page 146: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

O problema de prospecção de regras de associação pode ser descomposto em

dois subproblemas:

1. Encontrar todos os itemsets freqüentes.

2. Gerar, a partir de cada large itemset, as regras que usam itens deste itemset

freqüentes.

Em resumo, o problema de prospecção de regras de associação a partir de um

conjunto de transações T, pode ser caracterizado pela busca de todas as regras que

possuem suporte e confiança iguais ou superiores a valores limiares pré-definidos, ou

seja, encontrar associações, correlações e padrões freqüentes em conjuntos de itens ou

objetos de um banco de dados transacional ou outros repositórios de informações.

- Prospecção de padrões freqüentes

Um padrão freqüente é um conjunto de atributos, chamados itens, com um

determinado suporte limiar mínimo, minsup, definido pelo usuário. A prospecção de

padrões freqüentes é a principal fase na maioria das aplicações de prospecção de dados.

A complexidade deste problema é exponencial no tamanho das relações de entrada, pois

estas relações têm que ser percorridas várias vezes durante o processo para a contagem

dos suportes dos padrões, portanto são requeridos algoritmos otimizados para a

prospecção de padrões freqüentes.

Abordagens para prospecção de padrões freqüentes

Três abordagens têm sido propostas para a prospecção de padrões freqüentes

[Bastide et al., 2000]:

1. A primeira abordagem é baseada no processo de iterativamente percorrer o

conjunto de todos os padrões de forma nivelada e durante cada iteração,

correspondente a um nível, é criado um conjunto de padrões candidatos

através da junção de padrões freqüentes descobertos durante as iterações

anteriores, são contados os suportes de todos os padrões candidatos e os

padrões não freqüentes são descartados. O algoritmo mais proeminente

desta abordagem é o Apriori, proposto por [Agrawal et al., 1993], sendo que

uma grande variedade de modificações para esta abordagem tem sido

proposta objetivando-se maximizar diferentes aspectos de eficiência.

2. A segunda abordagem é baseada na extração de padrões freqüentes

máximos, dos quais todos superconjuntos são não freqüentes e todos os

subconjuntos são freqüentes. Essa abordagem combina uma inspeção 137

Page 147: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

nivelada bottom-up com uma inspeção top-down para rapidamente encontrar

os padrões freqüentes máximos, dos quais são derivados todos os demais

padrões freqüentes. Resultados experimentais têm mostrado que essa

abordagem é particularmente eficiente para a extração de padrões freqüentes

máximos, mas quando aplicada na extração de todos os padrões freqüentes o

seu desempenho decresce drasticamente, pela necessidade de se percorrer

por mais uma vez o banco de dados realizando-se aproximadamente um teste

de inclusão entre cada padrão freqüente e cada um de seus objetos. O

algoritmo mais proeminente desta abordagem é o Max-Miner [Bayardo Jr.,

1998].

3. A terceira abordagem, representada pelo algoritmo Close [Pasquier et al.,

1999], é baseada na extração de forma nivelada dos padrões freqüentes

fechados e de seus suportes em um banco de dados. Um padrão fechado é o

maior padrão comum de um conjunto de objetos do banco de dados, e

assim, todos os padrões freqüentes e seus suportes são derivados dos padrões

freqüentes fechados e seus suportes, sem acessar o banco de dados.

Conseqüentemente nem todos os padrões são considerados durante a parte

computacionalmente mais dispendiosa do algoritmo (que é a contagem dos

suportes dos padrões) e o espaço de busca é drasticamente reduzido,

especialmente para dados correlacionados, nos quais experimentos têm

mostrado que esta abordagem é muito mais eficiente que as duas anteriores.

Algoritmos representantes da primeira abordagem

A Tabela A.1 resume a notação usada na maioria dos algoritmos estudados:

k-itemset Um itemset contendo k itens.

Gk Conjunto de k-itemsets freqüentes (aqueles com suporte mínimo). Cada membro

desse conjunto tem dois campos: i) itemset e ii) contador de suporte

Ck Conjunto de k-itemsets candidatos (itemsets potencialmente freqüentes). Cada

membro desse conjunto tem dois campos: i) itemset e ii) contador de suporte.

C k Conjunto de k-itemsets candidatos quando TIDs das transações geradas são guardadas

associadas com os candidatos.

Tabela A.1: Notação Utilizada na Maioria dos Algoritmos Estudados.

138

Page 148: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Apriori [Agrawal & Srikant, 1994]

O algoritmo Apriori gera os itemsets candidatos a serem contados em uma

inspeção no banco de dados usando somente os itemsets encontrados como freqüentes

na inspeção anterior – sem considerar as transações no banco de dados. A idéia básica é

que qualquer subconjunto de um itemset freqüente deve ser freqüente.

Conseqüentemente, os itemsets candidatos tendo k itens podem ser gerados pela junção

dos itemsets freqüentes tendo k-1 itens, e excluindo-se aqueles itemsets que contenham

qualquer subconjunto de itens não freqüentes. Este procedimento resulta na geração de

um número muito menor de itemsets candidatos. O primeiro passo do algoritmo

simplesmente conta as ocorrências dos itens para determinar o k-itemset freqüente. Uma

inspeção subseqüente, chamada inspeção k, consiste de duas fases. Primeiro, os itemsets

freqüentes Gk-1 encontrados na (k-1)-ésima inspeção são usados para gerar os itemsets

candidatos Ck, usando a função GeraCandidato, ilustrada na Figura A.2. Em seguida, o

banco de dados é inspecionado e o suporte dos candidatos em Ck é contado. Para uma

contagem mais rápida é necessário determinar eficientemente os candidatos em Ck que

são contados em uma dada transação t, o que é feito pela função Subconjunto.

1) G1 = {Conjunto de itemsets freqüentes de tamanho 1}

2) Para (k = 2; Gk-1 <> ∅; k++) faça

3) início

4) Ck = GeraCandidato (Gk-1); // novos candidatos

5) Para toda transação t ∈ T faça

6) início

7) Ct = Subconjunto (Ck, t); // candidatos contidos em t

8) Para todo candidato c ∈ Ct faça

9) c.contador ++;

10) fim

11) Gk = {c ∈ Ck | c.count >= minsup}

12) fim

13) G = União de todos os Gk's;

Figura A.1: Algoritmo Apriori.

139

Page 149: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

A função GeraCandidato é composta por dois passos: a junção e a poda. No

passo de junção, a função toma como argumento Gk-1, o conjunto de todos os (k-1)-

itemsets freqüentes e retorna um superconjunto do conjunto de todos os k-itemsets

freqüentes, a partir da junção de Gk-1(p) e Gk-1 (q). Em seguida, no passo da poda,

exclui-se todos os itemsets c ∈ Ck tais que algum (k-1)-subconjunto de c não esteja em

Gk1.

{Junção}

Insert into Ck

Select p.item1, p.item2, ... , p.itemk-1, q.itemk-1

From Gk-1(p), Gk-1 (q) {elementos p e q de Gk-1}

where p.item1 = q.item1, ..., p.itemk-2 = q.itemk-2, p.itemk-1< q.itemk-

{Poda}

para todo c ∈ Ck faça

para todo s ⊂ c e |s| = k-1 faça

Se s ∉ Gk-1 então elimine c de Ck.

Figura A.2: Função GeraCandidato

Seguindo estes passos, o algoritmo Apriori, ilustrado na Figura A.1, gera um

itemset G dos conjuntos de itens da base de dados com suporte maior que um suporte

mínimo especificado, e de posse deste conjunto G será possível extrair as regras de

associação dos itens.

Algumas Variações do Algoritmo Apriori

AprioriTid [Agrawal & Srikant, 1994]

O algoritmo AprioriTid é uma variação do algoritmo Apriori, e também usa a

função GeraCandidato, ilustrada na figura A.2, para determinar os itemsets candidatos

antes da inspeção inicial. A característica interessante desse algoritmo é que ele tem a

propriedade adicional de não usar o banco de dados para as contagens de suportes dos

itemsets candidatos após a primeira inspeção. O conjunto C k é usado para este

propósito, minimizando muito o esforço de leitura.

140

Page 150: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Cada membro do conjunto C k é da forma <TID, {Xk}>, onde cada Xk é um k-

itemset potencialmente freqüente presente na transação com identificador TID. Para

k=1, C k corresponde ao banco de dados T. Para k > 1, C k é gerado pelo algoritmo. O

membro de C k correspondente à transação t é <t.TID, {c ∈ Ck | c contido em t} >. Se

uma transação não contém qualquer candidato k-itemset, então C k não tem uma entrada

para esta transação. Assim, o número de entradas em C k pode ser menor que o número

de transações no banco de dados, especialmente para valores grandes de k. Entretanto,

para valores pequenos de k, cada entrada pode ser maior que a transação correspondente

pois uma entrada em Ck inclui todos os k-itemsets candidatos contidos na transação.

AprioriHybrid [Agrawal & Srikant, 1994]

Experimentos mostram que nas primeiras inspeções o algoritmo Apriori é mais

eficiente que o AprioriTid. Entretanto, AprioriTid é mais eficiente que o Apriori nos

passos posteriores. Nas últimas inspeções do banco de dados, o número de itemsets

candidatos reduz, porém Apriori ainda examina todas as transações do banco de dados.

Por outro lado, ao invés de inspecionar o banco de dados, AprioriTid inspeciona C k

para obter a contagem de suportes, e a cardinalidade de C k já se tornou menor que o

tamanho do banco de dados. Baseado nesta observação, foi projetado um algoritmo

híbrido, que chama-se AprioriHybrid, que usa Apriori nos passos iniciais e troca para

AprioriTid quando ele espera que o conjunto C k no final da inspeção caiba na memória.

A seguinte heurística é usada para estimar se C k caberá na memória na próxima

inspeção. No fim da inspeção corrente, tem-se a contagem dos candidatos em Ck .

Disto, estima-se qual o tamanho de C k se ele foi gerado. Se C k neste passo for

pequeno o bastante para caber na memória, e há menos candidatos freqüentes no passo

corrente que no passo anterior, troca-se para o algoritmo AprioriTid. A próxima

condição é adicionada para evitar a troca quando C k na inspeção corrente cabe na

memória, mas C k na próxima inspeção possa não caber. Resultados experimentais

mostram que o AprioriHybrid tem desempenho melhor que o Apriori em quase todos os

casos, porém é um pouco pior que o Apriori se a inspeção em que a troca for feita for a

última, pois incorrerá o custo para a troca sem se ter benefícios.

141

Page 151: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Partição [Savarese et al., 1995]

Comparado com os algoritmos anteriores, o algoritmo de Partição é

fundamentalmente diferente de todos eles, pois ele inspeciona o banco de dados no

máximo duas vezes para gerar todas as regras de associação significantes, tendo as

seguintes vantagens adicionais:

1) Pode gerar resultados aproximados na metade do tempo, o que pode ser útil

quando tais resultados são suficientes;

2) É inerentemente paralelo por natureza e pode ser paralelizado com o mínimo

de comunicação e sincronização entre os nós de processamento.

Supondo-se que dado um pequeno conjunto de itemsets freqüentes, então o

suporte para cada um deles pode ser testado em uma inspeção do banco de dados e os

atuais itemsets freqüentes podem ser descobertos. Claramente esta abordagem trabalha

somente se o conjunto dado contêm todos os atuais itemsets freqüentes. O algoritmo de

Partição executa esta tarefa com duas inspeções do banco de dados. Na primeira fase o

algoritmo logicamente divide o banco de dados em um número de partições não

sobrepostas. As partições são consideradas uma de cada vez e todos os itemsets

freqüentes para cada partição são gerados e intercalados para gerar um conjunto de

todos os potenciais itemsets freqüentes. Na segunda fase, o suporte atual desses itemsets

é gerado e os itemsets freqüentes são identificados. O tamanho das partições é escolhido

de tal forma que cada partição possa ser acomodada na memória principal de forma que

as partições são inspecionadas somente uma vez em cada fase. Utilizando-se uma

partição, a performance é melhor que se utilizando 10 partições em todos os casos.

Partição-1 executou melhor que o Apriori exceto nos casos em que o suporte mínimo é

alto. Até mesmo a Partição-10 executou melhor que o Apriori em muitos casos para

suportes baixos. Fatores estudados demonstram que o algoritmo de Partição é

especialmente melhor para banco de dados muito grande e em ambientes com contenção

de recursos.

Pascal [Bastide et al., 2000]

O algoritmo Pascal é uma simples e eficiente otimização do algoritmo Apriori,

que minimiza tanto quanto possível o número de contagens executadas de suporte dos

padrões quando se extraem os padrões freqüentes. Este método baseia-se no conceito de

padrões-chave, onde um padrão-chave é um padrão mínimo de uma classe de

equivalência reunindo todos os padrões comuns dos mesmos objetos do banco de dados.

Conseqüentemente todos os padrões em uma classe de equivalência têm o mesmo 142

Page 152: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

suporte e os suportes dos padrões não-chaves de uma classe de equivalência podem ser

determinados usando os suportes dos padrões-chave dessa classe. Com este método

somente o suporte dos padrões-chave (e de alguns padrões não freqüentes) é

determinado a partir do banco de dados, enquanto os suportes dos padrões freqüentes

não-chaves são derivados dos suportes dos padrões-chave freqüentes. Em resumo, o

algoritmo Pascal trabalha exatamente como o algoritmo Apriori, mas conta somente os

suportes que não podem ser derivados de suportes já computados. Assim, pode-se em

cada nível, restringir a contagem no banco de dados de alguns candidatos. Além disto,

em alguns níveis todos os padrões candidatos podem ser conhecidos como padrões não-

chaves, podendo todos os padrões freqüentes restantes e seus suportes serem derivados

sem acessar mais o banco de dados. No pior caso, isto é, em dados fracamente

correlacionados, todos os padrões candidatos são também padrões candidatos-chave, o

algoritmo se comporta exatamente igual ao Apriori sem nenhum overhead significante.

DIC [Brin et al., 1997]

DIC (Dynamic Itemset Counting) é um algoritmo que reduz o número de

inspeções feitas nos dados enquanto guarda o número de itemsets que são contados em

qualquer inspeção. DIC aponta a questão de alto nível de quando contar quais itemsets e

tem uma velocidade substancialmente maior que o Apriori, particularmente quando o

Apriori requer muitas inspeções. Para mostrar que itemsets são freqüentes pode-se

contá-los, entretanto, é impossível contar todos os itemsets não freqüentes. Felizmente,

é suficiente contar somente aqueles mínimos (os itemsets que não incluem qualquer

outro itemset não freqüente) e assim, se um itemset é não freqüente, todos os seus

superconjuntos são não freqüentes também. Eles formam o topo do limite entre os

itemsets freqüentes e não freqüentes, é chamado de limite negativo. DIC começa

contando somente os 1-itemsets e então rapidamente adiciona contadores 2, 3, 4, ..., k-

itemsets. Após somente algumas inspeções nos dados ele termina contando todos os

itemsets. Existem vários benefícios de DIC, sendo o mais importante o desempenho. Se

os dados são razoavelmente homogêneos em todo o arquivo e o intervalo é

razoavelmente pequeno, e o algoritmo geralmente faz duas inspeções, o que o torna

consideravelmente mais rápido que o Apriori que deve fazer tantas inspeções quanto o

tamanho máximo de um itemset candidato. Uma desvantagem de DIC é que ele é

sensível à homogeneidade dos dados. Em particular, se os dados são muito

correlacionados podemos não perceber que um itemset é atualmente freqüente até

termos o contado na maioria das transações. Se isto acontece, então não trocamos nosso 143

Page 153: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

limite hipotético e começamos a contar dos superconjuntos dos itemsets até termos

chegado ao fim da contagem do itemset. Conseqüentemente, é vantajoso ter os itens que

ocorrem em muitos itemsets sendo os últimos na ordenação dos itens e os itens que

ocorre em poucos itemsets sendo os primeiros. Implementações de DIC e Apriori são

basicamente as mesmas, visto que Apriori pode ser considerado como um caso especial

de DIC – o caso onde o tamanho do intervalo é o tamanho do arquivo de dados. Ambos,

DIC e Apriori executam nos dados sintéticos e de censo, mas DIC tem melhor

desempenho na maioria dos testes, executando 39% mais rápido para suporte de 0.005.

Existem diversas de variações de DIC, pois sua natureza dinâmica o torna muito flexível

e pode ser adaptado para prospecção paralela e incremental.

RARM [Das et al., 2001]

RARM (Rapid Association Rule Mining) é um algoritmo que tenta quebrar a

barreira da velocidade. RARM foi comparado com o clássico algoritmo Apriori e sua

performance superou o Apriori em duas ordens de magnitude (100 vezes), muito mais

que algoritmos recentes de prospecção estão hábeis a atingir. Para atingir grandes

velocidade até mesmo com baixos valores de suporte, RARM constrói uma nova

estrutura chamada SOTrieIT (Support-Ordered Trie Itemset), que armazena os

contadores de suporte de todos os 1-Itemsets e 2-itemsets no banco de dados. Todas as

transações que chegam são pré-processadas; todos 1-itemsets e 2-itemsets são extraídos

de cada transação. A extração da informação é usada para atualizar a SOTrieIT, que é

então ordenada de acordo com os contadores de suporte de cada nodo em ordem

descendente, possibilitando que rapidamente se descubra os 1-itemsets e 2-itemsets sem

inspecionar o banco de dados. A necessidade de gerar 1-itemsets candidatos e 2-itemsets

candidatos constitui o gargalo na geração de itemsets freqüentes, como observado em

[Sarda & Srinivas, 1998]. Conseqüentemente, pela eliminação desse passo, RARM

atinge aumentos significantes de velocidade, embora subseqüentemente, ele também

aplique o algoritmo Apriori na obtenção de itemsets de tamanhos maiores.

144

Page 154: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

DHP [Park et al., 1995]

DHP é um algoritmo eficaz baseado em hash para a geração de 2-itemsets

candidatos. Explicitamente, o número de 2-itemsets candidatos gerados pelo algoritmo

proposto é, em ordem de magnitude, menor que aqueles dos métodos anteriores, assim

resolvendo o gargalo da performance. Quanto maior for o conjunto de candidatos, maior

é o custo de processamento requerido para descobrir os itemsets freqüentes. Uma outra

questão relacionada ao desempenho é a quantidade de dados que tem que ser

inspecionada durante a descoberta dos itemsets freqüentes. Reduzindo-se o número de

transações a serem inspecionadas e podando-se o número de itens em cada transação

pode-se melhorar a eficiência da prospecção de dados nos últimos estágios.

Essencialmente, o algoritmo DHP usa a técnica de hashing para filtrar itemsets

desnecessários para a próxima geração de itemsets candidatos. Inicialmente, o algoritmo

considera um conjunto de 1-itemsets freqüentes e faz uma tabela hash (isto é, H2) para

2-itemsets. No próximo passo, o conjunto de itemsets candidatos Ck baseado na tabela

hash (isto é, Hk) gerada no passo anterior, determina o conjunto de k-itemsets freqüentes

Lk, que reduz o tamanho do banco de dados para os próximos itemsets freqüentes e faz

uma tabela hash para candidatos de (k+1)- itemsets freqüentes. O terceiro passo, é

basicamente o mesmo que o segundo, exceto por não empregar uma tabela hash. Note

que DHP é particularmente poderoso para determinar itemsets freqüentes em estágios

iniciais, assim melhorando o gargalo de desempenho. Como o Apriori, DHP também

gera um k-itemset por Lk-1. Entretanto, DHP é o único que emprega o vetor de bit, que é

construído num passo anterior, para testar a validade de cada k-itemset. Ao invés de

incluir todos os k-itemsets de Lk-1 * Lk-1 em Ck, DHP adiciona um k-itemset em Ck

somente se o k-itemset está ranqueado em uma entrada hash cujo valor é maior ou igual

ao suporte, o que reduz drasticamente o tamanho de Ck. O tempo de execução de DHP

no primeiro passo é levemente maior que do Apriori devido ao overhead extra requerido

para a geração de H2. Entretanto, DHP incorre significantemente em menores tempos de

execução que o Apriori nos demais passos, não apenas no segundo passo quando a

tabela hash é usada pelo DHP para facilitar a geração de C2, mas também nos demais

passos quando o mesmo procedimento é usado, mostrando-se a vantagem de se

inspecionar bancos de dados menores.

145

Page 155: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

FP-growth [Han et al., 2000b]

Recentemente, foi proposto o algoritmo Frequent Pattern Growth (FP-growth)

que atingiu impressionantes resultados comparado ao Apriori. Ele elimina

completamente o gargalo da geração de candidatos pelo uso uma nova estrutura

chamada Frequent Pattern Tree (FP-tree) que armazena informações de itemsets

críticos. Essa estrutura compacta também remove a necessidade de inspecionar o banco

de dados e é construída usando somente duas inspeções. Na primeira inspeção, 1-

itemsets freqüentes L1 são obtidas e armazenadas em ordem descendente de suporte. Na

segunda inspeção, itens nas transações são primeiro ordenados de acordo com a ordem

de L1. Esses itens ordenados são usados para construir a FP-tree. O algoritmo FP-

growth então procede recursivamente fazendo a prospecção das FP-trees de tamanho

decrescente para gerar itemsets freqüentes sem a geração de candidatos e inspeções no

banco de dados. Ele faz o exame de todos os padrões base da FP-tree que consiste do

conjunto de itemsets freqüentes ocorrendo com o padrão sufixo. FP-trees condicionais

são construídas desses padrões condicionais bases e a prospecção é feita recursivamente

com tais árvores para descobrir itemsets freqüentes de vários tamanhos. Porém, a

construção e uso das FP-trees é complexa e faz com que o desempenho do FP-growth

seja igualitário ao Apriori com limiares de suportes de 3% para cima, mostrando

aumento de velocidade significante apenas com suportes abaixo de 1.5%.

Algoritmos representantes da segunda abordagem

Max-Miner [Bayardo Jr., 1998]

O Max-Miner é um algoritmo com escala aproximadamente linear ao número de

padrões máximos embutidos em um banco de dados sem levar em consideração o

tamanho do padrão mais longo, enquanto os algoritmos anteriores baseados no Apriori

têm escala exponencial com o tamanho do maior padrão. Experimentos com dados reais

mostram que quando os padrões são longos, este algoritmo é mais eficiente em uma

ordem de magnitude ou mais. Em sua grande parte, algoritmos de prospecção de

padrões têm sido desenvolvidos para operar em bancos de dados onde os padrões

maiores são relativamente curtos. Interessantes conjuntos de dados com padrões longos

incluem aqueles compostos de resultados de questionários (pessoas tendem a responder

similarmente a muitas questões), transações de vendas detalhando as compras feitas por

clientes regulares durante um longo tempo, e dados biológicos dos campos de DNA e

análise de proteínas. Quase sempre todo algoritmo de prospecção de padrões propostos 146

Page 156: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

recentemente é uma variação do Apriori. Porém alguns estudos recentes demonstraram

que algoritmos como Apriori são inadequados em conjuntos de dados com padrões

longos. Apriori emprega uma busca bottom-up que enumera todos os conjuntos de

dados simples. Isto implica que para produzir um conjunto de itens freqüentes de

tamanho l, ele deve produzir todos os 2l de seus subconjuntos uma vez que eles também

devem ser freqüentes. Essa complexidade exponencial restringe os algoritmos baseados

no Apriori a serem eficazes apenas para descoberta de padrões curtos. Para superar este

problema, foi proposto o algoritmo Max-Miner para eficientemente extrair somente

conjunto de itens freqüentes máximos, onde um conjunto de itens é freqüente máximo

se ele não tem nenhum superconjunto que é freqüente. Pelo motivo de que qualquer

conjunto de itens freqüentes é um subconjunto de um conjunto de itens freqüentes

máximos, a saída do Max-Miner implicitamente e concisamente representa todos os

conjuntos de itens freqüentes. Em outros conjuntos de dados onde os padrões não são

tão grandes, os ganhos são mais modestos. Na prática, Max-Miner executa em tempo

aproximadamente linear ao número de conjuntos de itens de padrões freqüentes

máximos e o tamanho do banco de dados, não levando em consideração o tamanho do

maior conjunto de itens freqüentes. Max-Miner é próspero porque abandona uma estrita

varredura top-down do espaço de busca, e ao contrário, sempre tenta olhar à frente “look

ahead” para rapidamente identificar longos conjuntos de dados freqüentes. Por

identificar antes um longo conjunto de dados freqüentes, Max-Miner pode podar todos

os seus subconjuntos de consideração. Max-Miner usa uma heurística para refinar sua

busca em um esforço para identificar o que pode freqüentemente determinar quando um

novo conjunto de itens candidato é freqüente antes de acessar o banco de dados. A idéia

é utilizar as informações conseguidas em inspeções anteriores do banco de dados para

computar um bom limite inferior no número de transações que contém o conjunto de

dados. Esse algoritmo eficientemente identifica todos os conjuntos de itens dos padrões

freqüentes máximos até mesmo quando o espaço de todos os conjuntos de itens de

padrões freqüentes máximos tem por si só, intratabilidade por tamanho. Max-Miner

pode usar as mesmas estruturas de dados que o Apriori para eficientemente computar

suportes de conjuntos de itens. A estrutura primária usada pelo Apriori é a árvore hash

para indexar conjuntos de itens candidatos. Max-Miner usa a árvore hash para indexar

somente a cabeça de cada grupo candidato. Para cada transação no conjunto de dados,

Max-Miner usa a árvore hash para rapidamente observar todos os grupos candidatos

cuja cabeça aparece na transação.

147

Page 157: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Teorema (corretude): Max-Miner retorna todos e somente os conjuntos de itens

freqüentes máximos no dado conjunto de dados dado.

Prova: O fato de Max-Miner identificar e armazenar todo conjunto de itens

freqüentes máximos segue da perfeição de uma árvore de busca de enumeração de

conjunto e o fato que ramos da árvore de enumeração de conjunto ser podada se, e

somente se, eles levam apenas a conjuntos de itens não freqüentes ou conjuntos de itens

freqüentes não máximos. O fato de Max-Miner retornar somente aqueles conjuntos de

dados que são freqüentes máximos dá-se a operação dentro do corpo de Max-Miner que

continuamente remove qualquer conjunto de itens I se um superconjunto freqüente de I

é conhecido. Max-Miner, como Apriori, facilmente manipula dados residentes em disco

porque requer somente uma transação por vez na memória. Também como o Apriori, o

número de varreduras nos dados feitas pelo Max-Miner é limitado pelo tamanho do

conjunto de itens freqüentes mais longo. Para Apriori este limite é aproximadamente

ajustado. Max-Miner, por outro lado, freqüentemente executa menos varreduras no

banco de dados, como é mostrado na avaliação.

Teorema (Eficiência): Max-Miner faz no máximo l + 1 varreduras no conjunto

de dados, onde l denota o tamanho do conjunto de itens freqüentes mais longo.

Prova: Pela maneira pela qual Max-Miner gera grupos candidatos, é fácil ver que

durante a varredura K, a cabeça de um grupo candidato tem exatamente K-1 itens. Após

a varredura l + 1, para qualquer grupo candidato g e qualquer de seus itens de rabo i,

h(g) ∪ {i} será não freqüente, caso contrário poderíamos ter um conjunto de itens

freqüentes mais longo que l. Isto implica que o próximo conjunto de grupos candidatos

será vazio, neste caso o algoritmo termina.

GenMax [Gouda & Zaki, 2001]

GenMax é um novo algoritmo que utiliza busca backtracking para

eficientemente enumerar todos os padrões máximos, usando um número de otimizações

para rapidamente podar uma grande porção do subconjunto do espaço de busca. Ele usa

uma nova técnica de enfoque progressivo para eliminar itemsets não-máximos e usa

propagação de diffset para rapidamente verificar a freqüência. Os autores conduziram

uma caracterização experimental extensiva de GenMax comparando-o com métodos

como MaxMiner, e descobrimos que os métodos têm variações de desempenho

dependendo das características do banco de dados (principalmente a distribuição dos

padrões freqüentes máximos por duração). GenMax é atualmente o melhor método para

enumerar o conjunto exato de padrões máximos. 148

Page 158: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Algoritmo representante da terceira abordagem

Algoritmo Close [Pasquier et al., 1999]

O algoritmo Close é um novo método para prospecção em que se utiliza a poda

de conjuntos fechados para fazer a prospecção de regras de associação em grandes

bancos de dados. Ao contrário dos demais algoritmos que são todos baseados na poda

das junções de itemsets, Close é baseado na poda das junções de itemsets fechados, que

é um conjunto máximo de itens comuns a um conjunto de objetos. A estrutura utilizada

por Close pode ser usada como um framework para a descoberta de regras de

associação dadas às propriedades básicas de que todos subitemsets fechados de um

itemset fechado freqüente são freqüentes, todos subitemsets fechados de um itemset

fechado não freqüente são não freqüentes, e de que o conjunto de itemsets freqüentes

máximos é idêntico ao conjunto de itemsets fechados freqüentes máximos. Como o

tamanho das junções dos itemsets fechados de um banco de dados é freqüentemente

muito menor que os itemsets, Close pode reduzir ambos, o número de inspeções do

banco de dados e o overhead da CPU decorrente da busca por itemsets freqüentes. Em

todos os casos, Close tem a habilidade de descobrir regras de associação para baixos

valores de suporte, o que o Apriori não pode realizar, pelo motivo de seus requisitos de

memória. Experimentos comparando Close a versões otimizadas de Apriori mostraram

que Close é muito mais eficiente para prospecção de dados densos e/ou correlacionados,

tais como dados do estilo censo, e executa razoavelmente bem para dados do estilo

cestas de compras.

Outros Algoritmos para Prospecção de Regras de Associação

Existem diversos algoritmos para Prospecção de Regras de Associação e outros

para a descoberta e manutenção destas regras, como FUP [Cheung et al., 1996] e FUP2

[Cheung et al., 1997], porém, tais algoritmos fogem do escopo do trabalho proposto e

assim não são explicitados neste apêndice.

149

Page 159: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

Algoritmos para Prospecção de Padrões Seqüenciais

Tratando-se de um grande banco de dados de transações de clientes, onde cada

transação consiste de um ID-cliente, o momento da transação e os itens comprados na

transação, [Agrawal & Srikant, 1995] introduziram o problema de prospecção dos

padrões seqüenciais em tais bancos de dados. Também companhias de catálogos

coletam tais dados usando a ordem em que são recebidos.

Tendo-se um banco de dados D de transações de clientes, sendo cada transação

consistindo dos seguintes campos: ID-cliente, momento da transação, e itens comprados

na transação. Nenhum cliente tem mais que uma transação no mesmo momento da

transação. Não se considerando as quantidades de itens comprados em uma transação:

cada item é uma variável binária representando se um item foi comprado ou não. Um

itemset é um conjunto de itens não vazio. Uma seqüência é uma lista ordenada de

itemsets. Sem perda de generalidade, assume-se que o conjunto de itens é mapeado para

um conjunto de inteiros contíguos. Denota-se um itemset i por (i1 i2 ... im), onde ij um

item e uma seqüência por (s1 s2 ... sm), sendo sj é um itemset. Uma seqüência < a1 a2 ...

an> está contida em uma outra seqüência < b1 b2 ... bm> se existem inteiros i1 < i2 < ...

< in tais que a1 ⊆ bi1, a2 ⊆ bi2, ... , an ⊆ bin,. Todas as transações de um cliente podem

ser vistas conjuntamente como uma seqüência, onde cada transação corresponde a um

conjunto de itens, e a lista de transações, ordenadas crescentemente pelo momento da

transação, corresponde a uma seqüência. Denomina-se cada seqüência de seqüência-

cliente. Formalmente, toma-se as transações de um cliente, ordenamos crescentemente

pelo momento da transação, sendo T1, T2, ... , Tn. Tomamos o conjunto de itens em Ti

sendo denotado por (Ti). A seqüência-cliente para este cliente é a seqüência <itemset

(T1) itemset (T2) ... itemset (Tn)>. Um cliente suporta uma seqüência s se s está contida

na seqüência-cliente para esse cliente. O suporte para uma seqüência é definido como a

fração de clientes totais que suportam esta seqüência. Dado um banco de dados D de

transações de clientes, o problema de prospecção de padrões seqüenciais é encontrar as

seqüências máximas entre todas as seqüências que têm um certo suporte mínimo. Cada

seqüência máxima representa um padrão seqüencial. Chama-se seqüência freqüente uma

seqüência que satisfaz o suporte mínimo. O caso de se encontrar itemsets freqüentes em

um conjunto de transações é considerado um problema de se encontrar padrões intra-

transações, enquanto que encontrar padrões seqüenciais é relacionado com padrões

inter-transações. Um padrão, no primeiro problema consiste de um conjunto não

150

Page 160: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

ordenado de itens, enquanto no segundo caso é uma lista ordenada. O tamanho de uma

seqüência é o número de itemsets na seqüência. Uma seqüência de tamanho k é

chamada de k-seqüência. A seqüência formada pela concatenação de duas seqüências x

e y é denotada como x . y. O suporte de um itemset i é definido como a fração de

clientes que compram os itens em i em uma única transação. Assim o itemset i e a 1-

seqüência <i> têm o mesmo suporte. Um itemset com suporte mínimo é chamado de

itemset freqüente ou litemset. O problema de prospecção de padrões seqüenciais foi

dividido em duas fases a seguir:

1- Fase de Ordenação: O banco de dados D é ordenado, através do ID-cliente e

momento da transação. Este passo implicitamente converte o banco de dados

original em um banco de dados de seqüências de clientes.

Fase litemset : Nesta fase encontra-se o conjunto de todos os litemsets L, e

também simultaneamente encontra-se o conjunto de todas as 1-seqüências,

uma vez que esse conjunto é somente {<l > | l ∈ L}. O problema de encontrar

os itemsets freqüentes em um dado conjunto de transações de clientes, embora

com leve diferença na definição de suporte, foi considerado em [Agrawal et

al., 1993] e [Agrawal & Srikant, 1994]. Nestes artigos, o suporte para um

itemset foi definido como a fração de transações em que um itemset está

presente, enquanto que no problema de se encontrar padrões seqüenciais, o

suporte é a fração de clientes que compraram o itemset em qualquer uma de

suas transações. A adaptação de qualquer um dos algoritmos definidos em

[Agrawal & Srikant, 1994] para encontrar itemsets para o problema de

encontrar itemsets é direta aqui. A principal diferença é que o contador de

suporte deve ser incrementado somente uma vez por cliente mesmo se o

cliente compra o mesmo conjunto de itens em duas transações diferentes. O

conjunto de litemsets é mapeado para o conjunto de inteiros contínuos. A

razão para este mapeamento é que tratar litemsets como entidades simples,

podemos comparar a igualdade de dois litemsets em tempo constante, e

reduzir o tempo requerido para verificar se uma seqüência está contida em

uma seqüência-cliente.

2 - Fase de transformação: Precisa-se repetidamente determinar quais dos dados

conjuntos de seqüências freqüentes estão contidos em uma seqüência-cliente.

Para fazer este teste rapidamente, transforma-se cada seqüência-cliente em

uma representação alternativa. Em uma seqüência-cliente transformada, cada

transação é substituída pelo conjunto de todos os itemsets contidos naquela 151

Page 161: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

transação. Se uma transação não contém qualquer itemset, não são retidas na

seqüência transformada. Se uma seqüência-cliente não contém qualquer

litemset, essa seqüência é retirada do banco de dados transformado.

Entretanto, ela ainda contribui para a contagem do número total de clientes.

Uma seqüência-cliente é agora representada por uma lista de conjuntos de

litemsets. Cada conjunto de litemsets é representado por {l1, l2, ... , ln}, onde li

é um litemset. Este banco de dados transformado é chamado DT. Dependendo

da disponibilidade de disco, pode-se fisicamente criar esse banco de dados

transformado ou então se pode fazer isto on-the-fly, à medida que lemos cada

seqüência durante uma inspeção (nos experimentos criou-se fisicamente o

banco de dados transformado). Usa-se o conjunto de litemsets para se

encontrar as seqüências desejadas.

3 - Fase de seqüenciação

Fase Máxima: Encontrar as seqüências máximas entre o conjunto de

seqüências freqüentes. Em alguns algoritmos esta fase é combinada com a

fase de seqüenciação para reduzir o tempo gasto na contagem das seqüências

não-máximas. Ou seja, tendo-se encontrado o conjunto de todas as seqüências

S na fase de seqüência, é aplicada uma outra fase do algoritmo para se

encontrar as seqüências máximas, de tamanho n.

AprioriAll [Agrawal & Srikant, 1995]

No algoritmo AprioriAll, em cada inspeção, usa-se as seqüências freqüentes dos

passos anteriores para gerar as seqüências candidatas e então são medidos os seus

suportes fazendo uma inspeção no banco de dados. No fim do passo, o suporte das

candidatas é usado para determinar as seqüências freqüentes. No primeiro passo, a saída

da fase litemset é usada para inicializar o conjunto de 1-seqüências freqüentes. As

candidatas são armazenadas em hash-tree [Agrawal & Srikant, 1994] para rapidamente

encontrar todos os candidatos contidos em uma seqüência cliente. A função

GeraCandidato toma como argumento Lk-1, o conjunto de todas as seqüências

freqüentes, e primeiramente faz a junção de Lk-1 com Lk-1, depois deleta todas as

seqüências c ∈ Ck tais que alguma (k-1)-subseqüência de c não esteja em Lk-1.

AprioriSome [Agrawal & Srikant, 1995]

Nesse algoritmo, na fase de avanço, somente conta-se seqüências de certos

tamanhos. Por exemplo, pode-se contar seqüências de tamanho 1, 2, 4 e 6 na fase de 152

Page 162: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

avanço e contar seqüências de tamanho 3 e 5 na fase de retrocesso. A função Proxima

tem como parâmetro o tamanho de seqüências contadas no último passo e retorna o

tamanho de seqüências a serem contadas no próximo passo. Assim, esta função

determina exatamente quais seqüências são contadas, e equilibra o benefício entre o

tempo gasto na contagem de seqüências não máximas versus a contagem de extensões

de pequenas seqüências candidatas. Um extremo é Proxima(k) = k+1 (k é o tamanho

dos candidatos que foram contados na última vez), quando todas as seqüências não

máximas são contadas, mas nenhuma extensão de pequenas seqüências candidatas é

contada. Neste caso, AprioriSome degenera para AprioriAll. O outro extremo é uma

função Proxima(k)=1-k, quando quase nenhuma seqüência freqüente não máxima é

contada, mas um número elevado de extensões de pequenas seqüências candidatas é

contado. Toma-se hitk como o número de k-seqüências freqüentes (isto é, (|Lk| / |Ck|).

A idéia detrás da heurística é que como a porcentagem de candidatas contadas no passo

atual que tem suporte mínimo aumenta, o tempo gasto pela contagem das extensões de

pequenas seqüências candidatas diminui quando se salta um tamanho. Usa-se a função

GeraCandidato para gerar novas seqüências candidatas. Entretanto, no k-ésimo passo,

pode-se ter o conjunto de seqüência freqüente Lk-1 disponível enquanto não se conta as

(k-1)-seqüências candidatas. Neste caso, usa-se o conjunto de candidatas Ck-1 para gerar

Ck. A corretude é mantida, pois Ck-1 ⊇Lk-1. Na fase de retrocesso, conta-se as seqüências

para os tamanhos saltados durante a fase de avanço, após primeiro eliminar todas as

seqüências contidas em algumas seqüências freqüentes. Essas seqüências menores não

podem estar na resposta porque o interesse é somente nas seqüências máximas; assim,

também se elimina as seqüências freqüentes encontradas na fase de avanço que são não

máximas.

DynamicSome [Agrawal & Srikant, 1995]

O algoritmo DynamicSome, como o AprioriSome salta contagens de seqüências

candidatas de certos tamanhos na fase de avanço. As seqüências candidatas que são

contadas são determinadas pela variável Passo. Na fase de inicialização, todas as

seqüências candidatas de tamanho igual ou maior que Passo são contadas. Então na fase

de avanço, todas as seqüências cujos tamanhos são múltiplos de Passo são contadas.

Assim, com Passo igual a 3, contam-se seqüências de tamanhos 1, 2 e 3 na fase de

inicialização, e 6, 9, 12,..., na fase de avanço. Realmente se se deseja contar seqüências

de tamanhos 3, 6, 9, 12,... pode-se gerar seqüências de tamanho 6 pela junção de

153

Page 163: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

seqüências de tamanho 3. Pode-se gerar seqüências de tamanho 9 pela junção das

seqüências de tamanho 6 com seqüências de tamanho 3 etc. Entretanto, para gerar as

seqüências de tamanho 3, precisa-se de seqüências de tamanhos 1 e 2, e por isto tem-se

a fase de inicialização. Como no AprioriSome, durante a fase de retrocesso, conta-se

seqüências dos tamanhos que foram saltadas durante a fase de avanço. Entretanto,

diferentemente do AprioriSome, essas seqüências candidatas não são geradas na fase de

avanço, sendo feitas em uma fase intermediária. Então a fase de retrocesso é idêntica à

do AprioriSome. Usa-se a função GeraCandidato na inicialização e nas fases

intermediárias, mas usa-se GeraOff na fase de avanço. A razão de se usar o

procedimento GeraOff é que a função GeraCandidato gera candidatos menores que ela

quando se gera Ck+1 de Lk. Entretanto isto pode não acontecer quando se tenta encontrar

Lk+Passo de Lk e LPasso como é o caso da fase de avanço. Além disto, se o tamanho de |Lk|

+ |LPasso| é menor que o tamanho de Ck+Passo gerado pelo GeraCandidato, pode ser mais

rápido encontrar todos os membros de Lk e LPasso contidos em c que encontrar todos os

membros de Ck+Passo contidos em c. A função GeraOff tem como argumento Lk, o

conjunto de k-seqüências freqüentes, Lj, o conjunto de j-seqüências freqüentes, e a

seqüência-cliente c, e retorna o conjunto de (k+j)-seqüências candidatas contidas em c.

A idéia é que se sk ∈ Lk e sj ∈ Lj estão ambos contidos em c, e não são sobrepostos em

c, então <sk. sj> é uma (k+j)-seqüência candidata.

GSP [Srikant & Agrawal, 1996]

O algoritmo GSP (Generalized Sequential Patterns) faz múltiplas inspeções no

banco de dados. Na primeira inspeção todos os itens simples (1-seqüência) são

contados. Dos itens freqüentes, um conjunto de 2-seqüências candidatas é formado e

uma outra inspeção é feita para contar seu suporte. Os 2-seqüência freqüentes são

usados para gerar os 3-seqüência candidatos, e esse processo é repetido até nenhuma

seqüência freqüente ser encontrada. Existem dois passos principais no algoritmo:

1. Geração de candidatos: Dado o conjunto de (k-1)-seqüência freqüentes, os

candidatos para o próximo passo são gerados pela junção deste conjunto com

ele mesmo. Uma fase de poda elimina qualquer seqüência em que pelo

menos uma de suas subseqüências não seja freqüente. Para uma rápida

contagem, as seqüências candidatas são armazenadas em uma hash-tree. Os

nodos folhas da hash-tree contêm as seqüências, enquanto os nodos internos

têm uma tabela hash. Cada célula não vazia de um tabela hash de

profundidade d aponta para um nodo da hash-tree de profundidade d+1. Os 154

Page 164: PROSPECÇÃO DE DADOS NO APOIO À GESTÃO DE …

candidatos são inseridos na hash-tree começando pela raiz e vão avançando

até alcançar um nodo folha, onde será inserido.

2. Contagem de suporte: Para encontrar todos os candidatos contidos em uma

seqüência S, conceitualmente todas as k-subseqüências de S são gerados. Para

cada subseqüência uma busca é feita na hash-tree. Se um candidato em um

nodo folha emparelha com a subseqüência, seu contador é incrementado.

Como o próprio nome sugere, o algoritmo GSP não apenas resolve o problema

de padrões seqüenciais, mas também o generaliza por considerar taxonomias nos itens;

por incluir restrições de tempo tais como limites mínimo e máximo entre os elementos

de seqüências sucessivas; e por incorporar janelas de tempo, que relaxam a definição de

uma transação.

Outros Algoritmos para Prospecção de Padrões Seqüenciais

Diversos outros algoritmos para Prospecção de Padrões Seqüenciais foram

encontrados, dentre eles: SPADE [Zaki, 1997], [Zaki, 2001], FreeSpan [Han et al.,

2000a], PrefixSpan [Pei et al., 2001], SSLP [Yen & Cho, 2001], SPAM [Ayres et al.,

2002], etc. Da mesma forma, foram pesquisados diversos algoritmos para a Prospecção

e Atualização de Padrões Seqüenciais, podendo-se citar: USSLP [Yen & Cho, 2001],

ISL [Parthasarathy et al., 1999], Árvore de Sufixo [Wang, 1997], ISE [Masseglia et al.,

2000], FASTUP [Lin & Lee, 1998], IUS [Zheng et al., 2002], DUS [Zheng et al., 2002],

etc. No entanto, tais algoritmos, como não foram aplicados no trabalho em questão, não

terão seu comportamento explicitado, visto o grande volume de informações que

necessitaria ser introduzido neste apêndice.

155