You are on page 1of 15

XXII Simpsio Brasileiro de Banco de Dados

SBBD 2007

Uma Estratgia baseada em Tcnicas de KDD para apoiar o Projeto Fsico em SGBDs XML Nativos
Miriam Oliveira dos Santos1, Ronaldo Goldschmidt2, Maria Cludia Cavalcanti1 Instituto Militar de Engenharia (IME) Pa Gen Tiburcio, 80 Praia Vermelha Urca CEP 22.290 270 Rio de Janeiro RJ Brasil
2 1

Instituto Superior de Tecnologia do Rio de Janeiro (ISTCC-RJ FAETEC) Rua Clarimundo de Melo, 847 Quintino Bocaiuva CEP 21.311 280 Rio de Janeiro RJ Brasil
{mosantos,rribeiro,yoko}@ime.eb.br

Abstract. Technological advances have contributed for an expressive increase of Web information, in terms of volume and diversity. Much of this information is organized as XML documents and come from many different sources. Content management for heterogeneous XML documents does not provide efficient mechanisms for guiding the storage of these documents, in such a way that facilitates their retrieval. Therefore, this paper presents a strategy based on Knowledge Discovery and Data Mining to guide the storage of heterogeneous XML documents. A case study and a performance comparative analysis illustrate the potential of the proposed strategy. Keywords: semi-structured data, database physical design, knowledge discovery, data mining Resumo. Os avanos tecnolgicos tm contribudo para um expressivo aumento do volume e da diversidade de informaes que circulam atualmente pela Web. Muitas dessas informaes encontram-se organizadas em documentos XML e provm de vrias fontes. O gerenciamento de contedo envolvendo documentos XML heterogneos carece de mecanismos que orientem o processo de armazenamento desses documentos, de forma a facilitar sua posterior recuperao. Assim sendo, este artigo apresenta uma estratgia baseada em princpios de Descoberta de Conhecimento e Minerao de Dados para orientar o processo de armazenamento de documentos XML heterogneos. Um estudo de caso e uma anlise comparativa de desempenho ilustram o potencial da estratgia proposta. Palavras-chave: dados semi-estruturados, projeto fsico de banco de dados, descoberta de conhecimento, minerao de dados

1. Introduo
Os avanos tecnolgicos ocorridos sobretudo na ltima dcada tm contribudo para um expressivo aumento do volume e da diversidade de informaes que circulam atualmente pela web. So inmeras e heterogneas as fontes de dados, assim como os dispositivos de sada a que tais informaes se destinam. Diante desse cenrio, mecanismos de gerenciamento de contedo [Pereira e Bax 2002] que apiem a captao, organizao e distribuio de informao corporativa vm assumindo papel de 300

XXII Simpsio Brasileiro de Banco de Dados

SBBD 2007

extrema importncia nas organizaes modernas. Os Sistemas de Gerenciamento Eletrnico de Documentos (GEDs) e os Sistemas Gerenciadores de Bancos de Dados (SGBDs) so exemplos de recursos voltados ao gerenciamento de contedo. Os GEDs tm sido utilizados no armazenamento, localizao e recuperao de informaes no estruturadas, e atendem a categorias especficas de documentos. Os SGBDs tradicionais, por outro lado, tm sido aplicados na gesto de informaes estruturadas e requerem portanto, a definio de estruturas de dados prvias. No entanto, h uma demanda crescente no sentido de que os GEDs e SGBDs se voltem para o gerenciamento de documentos semi-estruturados e heterogneos, que vm sendo representados atravs da linguagem XML. O interesse em monitorar diferentes fontes de informaes est presente em vrias reas, entre as quais podem ser citadas: prospeco tecnolgica, governo, comrcio eletrnico, aplicaes de marketing, integrao de redes de notcias, servios de alfndega. O governo, por exemplo, atravs da Receita Federal, tem interesse em confrontar as informaes declaradas no imposto de renda com outros documentos, em busca de dados conflitantes. Para isto, a Receita Federal deve ter acesso a diferentes informaes dos contribuintes disponibilizadas em diferentes fontes, formatos e em diferentes contextos. Muitas destas informaes podem ser encontradas em formato XML, que devido sua flexibilidade quanto forma de representao, tem sido amplamente adotado em diversas reas. O gerenciamento de contedo envolvendo documentos XML heterogneos carece de mecanismos que orientem o processo de armazenamento desses documentos, de forma a facilitar sua posterior recuperao. Vrias das abordagens encontradas na literatura [Abiteboul et al. 2005], [Flesca et al. 2005], [Yang et al. 2005], [Nierman e Jagadish 2002] e [Lee et al. 2001] propem solues voltadas para acervos com baixo grau de heterogeneidade, onde a inteno extrair um esquema nico. J [Li et al. 2004], embora facilite a formulao de consultas sobre documentos heterogneos, no prov soluo para o armazenamento destes documentos. Assim sendo, este artigo tem como objetivo propor uma estratgia baseada em princpios de Descoberta de Conhecimento e Minerao de Dados para orientar o processo de armazenamento de documentos XML heterogneos, separando-os em grupos mais homogneos. O presente trabalho est organizado da seguinte forma. Na Seo 2, descrevemos brevemente algumas das abordagens atuais para o armazenamento e classificao de documentos XML, discutindo alguns trabalhos relacionados. Na Seo seguinte, apresentamos uma proposta de estratgia para apoiar o projeto fsico em SGBDs XML Nativos, a partir da aplicao de tcnicas de KDD. A Seo 4 apresenta o prottipo implementado. As Sees 5 e 6 apresentam um estudo de caso e uma discusso sobre os resultados obtidos. Por fim, a Seo 7 conclui o artigo.

2. Tcnicas e Abordagens Relacionadas


As duas principais abordagens para o armazenamento de documentos XML envolvem SGBDs relacionais e SGBDs XML Nativos. Em geral, nos SGBDs relacionais o armazenamento consiste na fragmentao do documento em diversas tabelas atravs de tcnicas de mapeamento. No mapeamento direto, tabelas especficas so criadas a partir dos elementos (tags) e atributos do documento XML [Vieira 2002]. J no mapeamento indireto existem estruturas genricas que armazenam o contedo dos elementos e

301

XXII Simpsio Brasileiro de Banco de Dados

SBBD 2007

atributos presentes em qualquer documento XML [Florescu e Kossmann 1999], [Tian et al. 2002] e [Vieira 2002]. Uma das desvantagens do mapeamento direto a necessidade de se criar uma estrutura especfica, enquanto que no mapeamento indireto, mesmo que no seja preciso a criao de estruturas especficas, ainda h a necessidade de um conhecimento prvio do esquema genrico adotado (no necessariamente padro). J nos SGBDs XML Nativos [Schning 2001],[Jagadish et al. 2002] e [Brian 2006], os documentos so armazenados sem que haja necessidade de se realizar mapeamentos. Os SGBDs XML Nativos, prprios para o armazenamento desta categoria de documentos, oferecem maior flexibilidade em relao aos SGBDs relacionais tradicionais, porque no h obrigatoriedade da definio de um esquema. Os documentos so armazenados dentro de colees que so repositrios de documentos XML. No h restrio para os tipos de documentos armazenados em uma mesma coleo, que pode conter documentos com diferentes estruturas. Embora estas alternativas ofeream solues para o armazenamento de documentos XML, elas no consideram o tratamento de um acervo de grandes propores de documentos XML heterogneos. Neste sentido, procura-se por solues de armazenamento que sejam mais eficientes, como por exemplo realizar um tratamento prvio deste acervo, classificando e/ou agrupando seus documentos. KDD (Knowledge Discovery in Databases) definido por [Fayad et al. 1996] como um processo de vrias etapas, no trivial, interativo e iterativo, para identificao de padres compreensveis, vlidos, novos e potencialmente teis a partir de grandes conjuntos de dados. A descoberta de conhecimento em bases de dados composta por trs etapas operacionais: pr-processamento, processamento ou minerao de dados e ps-processamento. A etapa de pr-processamento responsvel pela captao, organizao e tratamento dos dados. A etapa de processamento ou minerao de dados responsvel pela busca efetiva de conhecimento atravs da aplicao de algoritmos de minerao. A etapa ps-processamento responsvel pela avaliao e pela aplicao do conhecimento obtido [Goldschmidt e Passos 2005]. Diversas abordagens baseadas em KDD tm sido propostas para tratamento de conjuntos de documentos XML heterogneos. Em [Abiteboul et al. 2005], [Flesca et al. 2005], [Yang et al. 2005], [Nierman e Jagadish 2002] e [Lee et al. 2001] proposta a criao de um esquema nico a partir da percepo da similaridade entre os documentos. Em alguns destes trabalhos so descritas tcnicas para preparar os documentos XML para minerao de dados atravs da equiparao terminolgica dos termos presentes nos documentos. Entretanto, a idia de derivar um esquema nico a partir de um acervo heterogneo de documentos pode se tornar uma tarefa difcil, se no invivel, dependendo do grau de heterogeneidade do mesmo. Em [Li et al. 2004] proposta uma estratgia para se trabalhar com colees heterogneas, baseada na formulao de consultas a diferentes esquemas que mantenham contedos similares. Diferente da nossa estratgia neste caso, os documentos no so agrupados por similaridade, permanecendo nas unidades de armazenamento originais, e portanto, sem os benefcios do armazenamento em separado e da indexao, que agilizariam as consultas. Neste trabalho, propomos uma estratgia que envolve o uso de tarefas de KDD, como clusterizao, sumarizao e associao, no sentido de minimizar a heterogeneidade dos documentos, atravs da separao do acervo em grupos mais 302

XXII Simpsio Brasileiro de Banco de Dados

SBBD 2007

homogneos. Em [Lian et al. 2004], a clusterizao dos documentos tambm utilizada, porm com objetivo diferente. Neste caso, a clusterizao realizada atravs da anlise da hierarquia dos termos para minimizar o problema de fragmentao em bancos de dados relacionais.

3. Estratgia Proposta
Como j citado anteriormente, este trabalho tem como objetivo encontrar mecanismos que auxiliem o armazenamento e recuperao mais eficiente de documentos XML heterogneos em SGBDs XML Nativos, propondo uma estratgia para armazenamento e indexao destes documentos. A estratgia proposta se utiliza das informaes obtidas como resultado do processo de KDD sobre a estrutura dos documentos XML e sobre os recursos existentes nos SGBDs XML Nativos de modo a guiar o usurio no desenvolvimento do projeto fsico. Conforme exposto na seo 2, o processo de KDD apresenta trs etapas. Inspirada nesta organizao, a estratgia proposta tambm se divide nestas trs etapas conforme ilustra a Figura. 1. Estas etapas envolvem desde a captao e tratamento de documentos XML at o armazenamento dos mesmos.

Figura 1. Etapas da Estratgia Proposta

Apesar dos documentos XML poderem estar associados a estruturas que garantam uma certa uniformidade, vale ressaltar que nossa estratgia parte do pressuposto que os documentos provm de origens distintas, o que nos leva a ter documentos com estruturas heterogneas. Para alcanar o objetivo geral proposto neste trabalho, existem dois objetivos especficos que esperamos atingir por meio destas etapas que so: o armazenamento em separado de documentos similares e a criao de ndices adequados para agilizar o 303

XXII Simpsio Brasileiro de Banco de Dados

SBBD 2007

futuro acesso a tais documentos. Nas subsees seguintes apresentaremos o detalhamento das etapas que compem a estratgia proposta. 3.1 Pr-processamento Na etapa de Pr-processamento foram identificadas trs sub-etapas que visam extrair informaes sobre os documentos para a etapa central, denominada Processamento. A etapa de Pr-processamento inicia-se a partir da anlise da estrutura dos documentos XML. A estrutura destes documentos composta por etiquetas, denominadas tags. Cada etiqueta pode ser vista como um termo que indica ou descreve a natureza da informao por ela encapsulada. Um dos objetivos deste trabalho verificar a similaridade entre os documentos que na estratgia proposta, baseia-se na utilizao destes termos pelos documentos. Por isso, deste ponto em diante, a palavra termo ser utilizada no lugar da palavra etiqueta, isto , os termos tratados pelas sub-etapas que compem a etapa de pr-processamento so provenientes das etiquetas dos documentos XML. Na sub-etapa de Equiparao de termos, inicialmente preciso identificar todos os termos distintos presentes em todos os documentos. A seguir, no sentido de minimizar a no uniformidade no conjunto de termos utilizados, substitui-se os termos equivalentes por um termo representante, reduzindo a quantidade de termos a tratar. Desta forma, evitamos diferenciar documentos similares s por que utilizam termos diferentes, ignorando que os mesmos tm igual significado. Isto pode ser resolvido usando-se um vocabulrio controlado de termos denominado tesauro [UNESCO 1973]. Os algoritmos de matching constituem uma alternativa para a integrao de termos de diferentes bases de dados de forma automatizada [Shvaiko e Euzenat 2005 ] . A sub-etapa de Limitao de termos, consiste em restringir a quantidade de termos a serem analisados. Em KDD a limitao de termos realizada pela funo de Seleo de dados, atravs da reduo de dados vertical, que tem como objetivo eliminar atributos pouco relevantes [Goldschmidt e Passos 2005]. A limitao de termos tambm pode ser realizada pelas tcnicas conhecidas como startword e stopword [Kelledy e Smeaton 1997] e [Brasil 2004]. Enquanto a tcnica de startword indica que termos devem ser considerados, a tcnica stopword indica que termos devem ser ignorados. De forma a facilitar a escolha dos termos para execuo de uma destas tcnicas, calcula-se a quantidade de vezes que os termos ocorrem nos documentos atravs de uma atividade denominada ranqueamento de termos. A sub-etapa de Preparao da matriz de dados consiste na criao de uma matriz de dados apropriada para clusterizao, seguida da normalizao dos dados que a compem. A matriz composta por valores numricos associados ao cruzamento de cada termo referenciado por cada documento. Estes valores resultam da anlise da presena dos termos na estrutura dos documentos podendo representar a sua ocorrncia e/ou frequncia. A matriz de ocorrncia de termos composta por 0s e 1s, para os casos de ausncia ou presena de um termo em um documento. J a matriz de freqncia de termos informa o nmero de vezes em que um termo aparece em um documento. H ainda uma terceira abordagem que pode ser considerada na anlise da estrutura do documento XML. Nesta abordagem, leva-se em considerao a hierarquia do termo no documento e pode-se calcular a sua freqncia ou ocorrncia. Esta abordagem permite uma maior preciso se tivermos como objetivo identificar documentos estruturalmente e hierarquicamente similares, pois os documentos, alm de serem compostos pelas mesmas tags, tm que ter estas tags aninhadas em uma mesma 304

XXII Simpsio Brasileiro de Banco de Dados

SBBD 2007

estrutura hierrquica para serem considerados similares. Neste caso, a matriz construda para cada par de termos (pai-filho). No entanto, no caso de documentos heterogneos e consequentemente com estruturas diferentes, a aplicao direta de uma matriz hierrquica dificultaria identificar documentos similares. Os valores constantes na matriz que ser submetida sub-etapa de Clusterizao devero ser normalizados. Existem alguns mtodos de normalizao disponveis, como documentado em [Goldschmidt e Passos 2005]. Neste trabalho adotamos o mtodo de normalizao pelo valor mximo dos elementos. Este mtodo consiste em dividir cada valor do termo que esteja sendo normalizado pelo maior valor dentre os valores de tal termo. Ao final da normalizao utilizada, todos os valores estaro entre 0 e 1. 3.2 Processamento Na etapa de Processamento, a idia encontrar grupos de documentos XML similares para facilitar sua distribuio por diferentes unidades de armazenamento e ainda identificar possveis candidatos indexao. A sub-etapa de Clusterizao voltada para identificar grupos de documentos similares. A matriz construda na etapa anterior submetida ao algoritmo de clusterizao. A abordagem adotada para clusterizao de documentos heterogneos prope o uso do algoritmo fuzzy k-means [Goldschmidt e Passos 2005]. O algoritmo fuzzy k-means um algoritmo de clusterizao que permite que um objeto pertena a mais de um grupo com diferentes graus de pertinncia [Rosa 2001]. Utilizando-se desta abordagem, possvel identificar documentos que compartilhem caractersticas comuns com documentos de mais de um grupo. Cada grupo identificado sugere uma unidade de armazenamento contendo documentos similares. Aps a clusterizao concluda, os documentos apresentam graus de pertinncia a todos os clusters. Por isto, na sub-etapa de Verificao de Pertinncia que os grupos so definidos de fato. Os graus de pertinncia apresentados variam, o documento pode ser mais ou menos pertinente a um cluster do que a outro. Neste caso, preciso definir, previamente, um limiar mnimo de pertinncia a ser considerado. A sub-etapa Verificao de Homogeneidade analisa se os documentos que compem cada cluster formam um grupo homogneo. Este tipo de anlise deve ser realizada, pois nem sempre conhecida a quantidade de contextos distintos, de onde provm os documentos. Por isso, no possvel em um primeiro momento determinar a quantidade de clusters adequada. A partir de uma quantidade de clusters inadequada, pode-se resultar em grupos mal formados, como por exemplo um grupo que contenha subgrupos. Assim, mesmo que o usurio tenha uma idia de quantos clusters devem ser formados, necessrio validar se o cluster homogneo. Isso pode ser feito pela anlise dos graus de pertinncia dos documentos que compem o cluster. Dado um cluster C, se o maior grau de pertinncia subtrado do menor grau de pertinncia dos documentos que compem o cluster, for menor ou igual a um limiar de homogeneidade , previamente definido pelo usurio, ento o cluster C homogneo, seno o cluster C heterogneo. No caso de ter sido verificada a heterogeneidade de pelo menos um cluster, volta-se sub-etapa de Clusterizao. A Clusterizao deve ser refeita, incrementandose a quantidade de clusters. Cabe ressaltar que o processo deve ser refeito para todos os documentos e no apenas para os documentos pertencentes ao cluster em que foi

305

XXII Simpsio Brasileiro de Banco de Dados

SBBD 2007

constatada a heterogeneidade. A sub-etapa de Sumarizao permitir descrever o contedo de cada cluster. Por fim, a sub-etapa de Associao ir identificar termos freqentes que podero ser utilizados para escolha de candidatos a ndices. Tal identificao se d atravs de duas abordagens: termos independentes (1 a 1 e/ou 2 a 2), e termos hierarquicamente dependentes (pai-filho). No caso da abordagem de anlise dos termos independentes montada uma matriz no formato basket [Goldschmidt e Passos 2005]. No contexto deste trabalho, cada documento ser identificado como uma transao e cada termo ser identificado como um item. Aps a matriz no formato basket ter sido criada so realizadas duas atividades inspiradas no funcionamento do algoritmo clssico de minerao de regras de associao chamado Apriori [Goldschmidt e Passos 2005]: A formao de conjuntos de 1 elemento, responsvel por identificar termos que ocorram frequentemente e a formao de conjuntos de 2 elementos gerados pela combinao dos termos resultantes da atividade anterior (conjuntos de 1 elemento), dois a dois, que atendam a um suporte mnimo, previamente estabelecido pelo usurio. Com isso so obtidas combinaes de termos que aparecem de forma conjunta e freqente nos clusters do acervo de documentos. Tais combinaes podem ser consideradas pelo usurio da aplicao como alternativas de ndices a serem criados. 3.3 Ps-processamento Na etapa Ps-processamento, o usurio guiado na elaborao de um projeto fsico de banco de dados com base nas informaes geradas nas etapas anteriores somado aos recursos normalmente oferecidos por SGBDs XML Nativos. Nesta etapa so definidas quantas Unidades de Armazenamento (UAs) sero necessrias para o armazenamento dos documentos, de que tipos devem ser e os ndices que devem atuar sobre as mesmas. Na sub-etapa de Definio de Armazenamento, inicialmente define-se o tipo e a quantidade de UAs que sero necessrias para armazenar os clusters criados. A princpio, a quantidade mnima de UAs corresponde a quantidade de clusters estabelecida. A quantidade mxima de UAs depende de outros fatores que vo desde a capacidade de armazenamento de cada UA a estratgias diferenciadas que podem ser aplicadas de acordo com as caractersticas dos documentos. A anlise da UA quanto estratgia de armazenamento avalia os recursos que o SGBD XML Nativo oferece. Por exemplo, h SGBDs que orientam que documentos muito grandes sejam armazenados de forma fragmentada, enquanto documentos pequenos sejam armazenados de forma contgua, sem que haja a fragmentao. Em seguida, define-se quais metadados sero associados aos documentos. Alm da referncia ao documento original (que nesta estratgia transformado para permitir a identificao de similaridades), h outras informaes que podem ser armazenadas como metadados, tais como: nome do documento que na maioria dos SGBDs XML Nativos j utilizado, pertinncia do documento ao cluster, nome de quem criou a unidade de armazenamento, data de criao, tamanho do documento dentre outras informaes que podem ser consideradas. Uma vez identificados os metadados, os documentos so ento armazenados nas unidades correspondentes. Uma vez criadas e povoadas as UAs, a partir da sugesto de ndices fornecida pela etapa de processamento e das alternativas oferecidas pelo SGBD, procede-se a definio e criao dos ndices. ndices unitrios (simples) e compostos (sobre dois ou

306

XXII Simpsio Brasileiro de Banco de Dados

SBBD 2007

mais elementos que ocorram de forma associada); ndices sobre textos para elementos com textos longos; e ndices sobre elementos pouco estveis, que podem ou no estar presentes nos documentos. 3.4 Consideraes sobre a Estratgia Proposta Os documentos submetidos a esta estratgia so documentos que normalmente no sofrem alteraes (e.g. livros, artigos, revistas), nos quais uma alterao gera novas verses destes documentos, e portanto, outros documentos. Com isto, a tendncia que os documentos uma vez armazenados e identificados dentro de unidades, que mantm documentos similares, no sofram alteraes, e assim, as UAs mantenham sua homogeneidade. Neste estudo, no foi considerada a entrada de novos documentos em UAs j povoadas. A entrada de novos documentos isoladamente ou mesmo em um nmero considervel, requer uma nova avaliao sobre que UA receberia o(s) novo(s) documentos. De qualquer forma, cada novo documento teria que passar pelas etapas de pr-processamento, processamento e ps-processamento, podendo haver alteraes na estratgia. Quanto a isto, outras questes podem ser levantadas, j que o novo documento poderia no ser similar a nenhum dos grupos existentes e com isto surgiria a necessidade de se criar um novo grupo e portanto uma nova UA a fim de manter a homogeneidade e o conjunto de regras aplicadas a esta UA. A criao de UAs homogneas somada criao de ndices, j nos d uma idia do ganho na recuperao destes documentos. Para avaliar a estratgia proposta ser mostrado um estudo de caso que apresenta uma comparao com outras abordagens.

4. Prottipo
Com o objetivo de orientar a construo do projeto fsico de banco de dados em SGBDs XML Nativos, com base na estratgia proposta, foi desenvolvido um prottipo, denominado GAIDoX (Guia para Armazenamento e Indexao de Documentos XML) que cobre parcialmente as etapas de pr-processamento, processamento e psprocessamento. A Figura 2 mostra a arquitetura do prottipo.

Figura 2. Arquitetura do Prottipo.

A implementao do prottipo foi feita em Java JDK verso 1.5, utilizando a versao 2.2.13 da API fornecida pelo SGBD XML Nativo Berkeley DB XML (BDBXML - http://www.oracle.com/database/berkeley-db.html). Este SGBD utilizado para armazenar os grupos de documentos XML, aps a etapa de processamento.

307

XXII Simpsio Brasileiro de Banco de Dados

SBBD 2007

O mdulo de configurao, onde so cadastradas informaes bsicas como a indicao de diretrios onde esto armazenados os documentos, a parametrizao de valores (e.g. nmero de clusters, limiar de homogeneidade, etc.), e informaes relacionadas ao SGBD utilizado (e.g. capacidade mxima de cada UA). Estas informaes so armazenadas no BD de configurao e so consultadas pelos demais mdulos. O mdulo de pr-processamento cobre as tarefas de identificao de termos e composio da matriz de dados. Neste mdulo ainda possvel limitar a quantidades de tags que iro compor a matriz de dados. No mdulo de processamento, a tarefa de clusterizao, que utiliza o algoritmo Fuzzy K-Means realizada pelo MatLab (http://www.mathworks.com/), constituindo o mdulo FCM MATLAB. Os resultados obtidos so importados para o mdulo de processamento e repassados para as tarefas de verificao de pertinncia e verificao de homogeneidade. Aps constatada a homogeneidade dos clusters solicitada uma descrio para os mesmos. Este mdulo cobre ainda as tarefas de associao cujos resultados so utilizados para a sugesto dos ndices. No mdulo de ps-processamento, os documentos so armazenados de acordo com os resultados da clusterizao obtidos na etapa de processamento e com as estratgias de armazenamento. As estratgias oferecidas pelo BDBXML so: whole e node. A primeira fora o armazenamento do documento ntegro, sem fragment-lo. J a segunda, a critrio do SGBD, fragmenta o documento em ns. A Figura 3 mostra o assistente de armazenamento deste mdulo. Alm do armazenamento propriamente dito, o mdulo de ps-processamento cobre ainda as atividades de definio das UAs, onde indicada a quantidade de UAs necessrias de acordo com a sua capacidade e o tamanho dos clusters formados; e a atividade de definio de metadados.

Figura 3. Assistente de Armazenamento.

Os mdulos de processamento e ps-processamento mantm um log para armazenar informaes sobre as caractersticas do armazenamento e decises do

308

XXII Simpsio Brasileiro de Banco de Dados

SBBD 2007

usurio. Basicamente, as informaes do log contm para cada cluster: o tamanho ocupado, a quantidade de UAs necessrias, os metadados selecionados, a data de criao e informaes sobre a estratgia de armazenamento. No prottipo h ainda um mdulo para realizao de consultas sobre os documentos j agrupados e armazenados.

5. Estudo de Caso
Para realizar este estudo de caso, de forma a avaliar a estratgia proposta, foi preciso reunir um grande volume de documentos. Alm disso, preocupou-se tambm com a construo de um acervo heterogneo, com documentos de diferentes fontes, que variassem significativamente em termos estruturais, porm que guardassem alguma similaridade. Deste modo, foi possvel avaliar a etapa de clusterizao, permitindo antever a formao dos grupos de documentos similares, e ainda, avaliar as etapas de armazenamento/indexao atravs de consultas que visam recuperar documentos dos diversos grupos de documentos. Assim, optou-se por trabalhar com trs conjuntos de documentos heterogneos, sendo que um destes conjuntos, artigos completos, formado por documentos gerados automaticamente por um utilitrio (http://www.cs.toronto.edu/tox/toxgene/). O segundo conjunto, resumos de artigos, contm documentos reais, provenientes da revista eletrnica Sigmod record (http://www.sigmod.org/record/xml/). O terceiro grupo, currculos, contm documentos criados manualmente. A Tabela 1 totaliza a quantidade de documentos do acervo utilizado neste estudo de caso, discriminando os grupos.
Tabela 1. Acervo de Documentos XML
Tipo resumos de artigos artigos completos curriculos Origem sigmod record Xbench CV Lattes, Web e outros Total Qtd 911 405 15 1331 Tamanho 1,96Mb 250Mb 58,9Kb 252Mb

Com relao etapa de pr-processamento, para os grupos artigos completos e resumo de artigos, nenhum tratamento foi empregado, j que as tags que formam estes documentos j apresentavam homogeneidade em sua descrio. Para o grupo de currculos, para os documentos que no seguiam o formato Lattes, foi preciso uniformizar manualmente as tags usadas. Aps computada a freqncia com que as tags apareciam em cada documento, montou-se uma matriz de freqncia de dados para ser submetida ao algoritmo de clusterizao. Uma caracterstica do algoritmo de clusterizao atribuir diferentes graus de pertinncia dos documentos a todos os clusters formados, estabelecendo graus de pertinncia mais ou menos significativos para cada documento em cada cluster. Conhecendo previamente o acervo, optou-se por utilizar trs clusters. O algoritmo de clusterizao se comportou corretamente, mantendo os documentos de cada grupo, com altos graus de pertinncia, em um mesmo cluster. Assim, foram gerados 3 clusters, um para cada grupo de documentos do acervo. A partir dos grupos definidos, estes documentos foram armazenados em 3 Unidades de Armazenamento (UA), segundo a estratgia proposta, e de duas outras formas (sem considerar a similaridade dos documentos): 309

XXII Simpsio Brasileiro de Banco de Dados

SBBD 2007

UAs Mltiplas Homogneas: A estratgia proposta que realiza o armazenamento por UA somente de documentos similares. Nesta estratgia temos uma UA para cada cluster formado. UA nica Heterognea: A estratgia que realiza o armazenamento de diferentes documentos em uma nica UA. UAs Mltiplas Heterogneas: A estratgia que se utiliza de mltiplas UAs para distribuir os documentos, sendo que esta distribuio realizada de forma aleatria, sem considerar qualquer tipo de relao entre os documentos.

Para cada uma destas situaes foi avaliada a utilizao ou no de ndices. Os resultados foram obtidos para as trs estratgias de armazenamento, e so apresentados e analisados na seo seguinte. Para cada uma destas estratgias, considerou-se somente o modo de armazenamento node. O BDBXML no foi capaz de armazenar a quantidade de documentos do acervo preparado, no modo whole. Quatro funcionalidades esto sendo avaliadas pelas consultas selecionadas, so elas: consultas por valores exatos, ordenao, verificao de dados irregulares e referncias e joins. Na Tabela 2 so listadas as consultas selecionadas, direcionadas a cada grupo de documentos, e os ndices empregados em cada uma delas.
Tabela 2. Consultas realizadas nos testes e os respectivos ndices usados
Consultas para o grupo Artigos Completos 1. for $a in collection(container)/article[@id=1] return $art/prolog/title 2. for $prolog in collection("container ")/article/prolog
where $prolog/authors/author/name="Ben Yang" return $prolog/title

Indices utilizados
id (node-attribute-equality-string) Name(node-element-equality-string) country(node-element-equality-string)

3. for $a in collection("container.dbxml")/article/prolog
where $a/dateline/country="Canada" order by $a/dateline/date return {$a/title} {$a/dateline/date}

4. collection("container")/article/prolog[not(genre)]/title 5. collection("container.dbxml")/article/prolog/genre/title 6. for $a in collection("container")/article[@id="7"]/epilog/references/a_id,


$b in collection("container")/article where $a = $b/@id return {$b/prolog/title}

Genre(node-element-presence-none) Genre(node-element-presence-none) id (node-attribute-equality-string)

Consultas para o grupo Resumos de Artigos 1. for $art in collection("container ")/IndexTermsPage/title[@id="00585"] return $art/title 2. for $art in collection("container")/IndexTermsPage
where $art/authors/author="Dick Tsur" where $a/confyear="1993" return $art/author

Indices utilizados
id (node-attribute-equality-string) author(node-element-equality-string) confyear(node-element-equality-string) return {$a/title} categoryAndSubjectDescriptorsTuple (nodeelement-presence-none) categoryAndSubjectDescriptorsTuple (nodeelement-presence-none) id (node-attribute-equality-string)

3. for $a in collection("container")/IndexTermsPage
order by $a/title

4. collection("container")/IndexTermsPage/categoryAndSubjectDescriptors
[not(categoryAndSubjectDescriptorsTuple)]

5. collection("container")/IndexTermsPage/categoryAndSubjectDescriptors
/categoryAndSubjectDescriptorsTuple/category 6. for $a in collection("container")/IndexTermsPage/title[@id="00585"]/authors/author, $b in collection("container")/IndexTermsPage/authors/author where $a = $b return {$b/IndexTermsPage/title}

Consultas para o grupo Currculos 1. for $cur in collection("container")


where contains($cur//instituicao,"IME") return $cur//dados_pessoais

Indices utilizados
instituicao(node-element-substring-string) doutorado(node-element-presence-none) cidade(node-element-equality-string)

2. collection("container ")[//doutorado]//nome 3. collection("container ")[//cidade="Rio de Janeiro"]//experiencia_profissional

310

XXII Simpsio Brasileiro de Banco de Dados

SBBD 2007

4. for $tese in collection("container")//tese


where contains ($tese/title,"XML") return $tese

title(node-element-substring-string) Nome(node-element-equality-string) Dados_pessoais.nome(edge-elementequality-string)

5. collection("container")[//instituicao/nome="IME"] 6. for $cur in collection("container") where contains ($cur//dados_pessoais/nome,ana)


order by $cur/dados_pessoais/nome return $cur

Os tempos das execues das consultas foram coletados considerando-se como tempo de execuo final, a mdia entre os tempos de execuo a quente. Para computao dos tempos foram realizadas 6 (seis) execues, sendo descartado o tempo da primeira execuo. O ambiente utilizado para os testes foi o SGBD BDBXML. Os testes foram realizados utilizando-se um microcomputador com processador Pentium 4.3, memria RAM de 2 Gbytes, disco rgido de 160 Gbytes e sistema operacional Windows XP Professional.

6. Resultados e Discusso
Foram avaliados os tempos de execuo das consultas com e sem ndice em cada uma das 3 estratgias de armazenamento propostas no estudo de caso: homogneo mltiplo, heterogneo nico e heterogneo mltiplo. Algumas consultas foram reescritas, de modo a garantir a utilizao correta dos ndices, e com isto a melhora do desempenho. Os resultados das execues sem ndice mostraram que a estratgia proposta por este trabalho apresenta os menores tempos de processamento (Santos, 2007). As subsees seguintes discutem os resultados obtidos a partir das execues com a utilizao de ndices, apresentando grficos comparativos entre a estratgia proposta (homogneo mltiplo) e as demais estratgias (heterogneo mtiplo e nico). 6.1 Resultados das Consultas sobre o Grupo Artigos Completos (Xbench) Pode-se perceber atravs da anlise dos grficos da Figura 4, que a estratgia proposta apresenta os menores tempos de processamento na maior parte das consultas. Os ganhos de desempenho so significativamente maiores para as consultas C2, C3. Os ndices usados nestas consultas so baseados em igualdade de valores sobre elementos (tags), diferentemente dos ndices usados nas demais consultas que so ndices para dados irregulares (presena) e para atributos. Em relao a estratgia Heterogneo Mltiplo, exceto nas consultas C1 e C6, os ganhos so sempre significativamente maiores. A consulta C6, que envolve o uso de ndices para realizar juno, apresentou, para a estratgia homogneo mltiplo, piores resultados em relao a estratgia heterogneo mltiplo.

Figura 4. Tempos (em ms) por consultas c/ ndices Grupo Artigos Completos

311

XXII Simpsio Brasileiro de Banco de Dados

SBBD 2007

6.2 Resultados das Consultas sobre o Grupo Resumos de Artigos (Sigmod) Pode-se perceber atravs da anlise dos grficos da Figura 5, que a estratgia proposta apresenta os menores tempos de processamento em todas as consultas, exceto na consulta C5 que perde para a estratgia heterogneo nico e no apresenta grandes diferenas em relao estratgia heterogneo mltiplo. O ndice usado nesta consulta oferece suporte a dados irregulares (presena).

Figura 5. Tempos (em ms) por consulta c/ ndice - Grupo Resumos de Artigos

6.3 Resultados das Consultas sobre o Grupo de Curriculos A Figura 6 no apresenta os tempos para a estratgia heterogneo mltiplo, pois ocorreram diversos erros no processamento destas consultas sobre este grupo de documentos. Todas as consultas aplicadas a este grupo utilizam-se do recurso de barras duplas, que indica que a tag subsequente pode aparecer como um descendente da tag precedente. Este recurso foi utilizado, j que h grandes diferenas estruturais neste grupo de documentos. A consulta C2 apresentou o maior ganho na estratgia proposta, homogneo mltiplo, em relao s demais estratgias. Esta consulta envolve o uso de ndices para dados irregulares (presena). J a consulta C3 foi a que apresentou tempos de execuo mais prximos entre as estratgias homogneo mltiplo e heterogneo nico. O ndice utilizado nesta consulta baseado em igualdade de valores sobre elementos.

Figura 6. Tempos (em ms) por consulta c/ ndice Grupo de Currculos

6.4 Consideraes sobre os Resultados Durante a realizao dos testes, foram encontrados alguns problemas no uso do SGBD BDBXML, o que nos leva a considerar refazer os testes com outros SGBDs XML Nativos O principal problema diz respeito ao uso de ndices, pois o comportamento do otimizador de consultas do BDBXML no apresentou um comportamento muito regular. Por este motivo, algumas consultas tiveram que ser reescritas para que o

312

XXII Simpsio Brasileiro de Banco de Dados

SBBD 2007

otimizador reconhecesse os ndices. Em outras consultas, percebeu-se que os ndices foram utilizados de forma diferenciada pelo otimizador de consulta, ora beneficiando, ora prejudicando o desempenho das consultas, o que tornou a comparao, nestes casos, inconclusiva, levando ao descarte destas consultas. Apesar de terem sido avaliadas poucas consultas, pode-se perceber que o fato de ter UAs homogneas, mantendo documentos com caractersticas comuns, proporciona algumas vantagens sobre as outras estratgias. Uma delas saber para onde as consultas sero direcionadas, o que no acontece na forma de armazenamento heterogneo mltiplo, onde para cada pesquisa, vrias UAs precisam ser consultadas. Isto no acontece na forma de armazenamento heterogneo nico, que mantm todos os documentos em uma nica UA, mas por outro lado, no se pode aplicar estratgias de armazenamento diferenciadas. A estratgia de armazenamento proposta procura possibilitar um emprego adequado dos recursos de armazenamento e acesso ao tipo de documento sendo armazenado. Nos trs conjuntos de documentos apresentados, foi possvel perceber claramente os ganhos, em especial para o grupo de currculos. Embora este grupo seja pequeno em termos de nmero de documentos e espao exigido para armazenamento, estamos preparando uma base maior para confirmar os resultados obtidos. Identificamos ainda, outros testes importantes que poderiam ser realizados para avaliar melhor a estratgia proposta, como por exemplo, para avaliar acesso concorrente, ou para avaliar consultas com resultados possveis em todos os grupos.

7. Concluso
Como contribuio deste trabalho, destaca-se a especificao de uma estratgia, composta por etapas bem definidas, para auxiliar o armazenamento e recuperao mais eficientes de documentos XML heterogneos em SGBDs XML Nativos. Alm disso, h tambm o prottipo implementado para auxiliar o usurio a desenvolver um projeto fsico de banco de dados sobre SGBDs XML Nativos. Apesar de ter sido avaliado apenas o SGBD BDBXML, vale ressaltar que a estratgia proposta aplicvel a qualquer SGBD XML Nativo, assim como poderiam ter sido aplicados outros algoritmos de minerao correspondentes s tarefas de associao e clusterizao utilizados. Para tornar o prottipo independente do SGBD a ser utilizado, precisaramos realizar pequenas adaptaes principalmente na fase de ps-processamento onde o SGBD acionado em atividades que envolvem a sub-etapa de armazenamento. Como trabalho futuro podemos citar a gerao de esquema nico, sobre cada UA gerada pela estratgia proposta. Um outro trabalho interessante seria no sentido de determinar automaticamente a quantidade inicial de clusters. Outra avaliaes da estratgia proposta tambm poderiam ser realizadas, como aplic-la sobre outros SGBDs XML Nativos, e ou sobre acervos desconhecidos. Por fim, pretende-se tambm proceder a adequao da estratgia para tratar a incluso de novos documentos, considerando os grupos j formados.

Referncias
Abiteboul, S.; Manolescu, I.; Nguyen, B. e Preda, N. (2005) A Test Plataform for the INEX heterogeneous track, Springer Berlin, Advances in XML Information Retrieval, v. 3493, p.358-371. 313

XXII Simpsio Brasileiro de Banco de Dados

SBBD 2007

Brasil, Christiane Regina. (2004) Ferramenta Inteligente de Apoio a Pesquisa: Minerao de Artigos Cientficos na WEB, USP, Dissertao. Brian, Danny. (2006) The Definitive Guide to Berkeley DB XML, APRESS. Fayad, U.M.; Piatetsky-Shapiro, G. e Smyth, P. (1996) From Data Mining to Knowledge Discovery: An Overview. Knowledge Discovery and Data Mining, Menlo Park: AAAI Press. Flesca, S.; Manco G., Masciari, E.; Pontieri, L. e Pugliese, A. (2005) Fast Detection of XML Structural Similarity, IEEE. Goldschmidt, R. e Passos, E. (2005) Data Mining Um Guia Prtico, Campus. Jagadish,H.V.; Al-Khalifa, S.; Chapman, A. et al. (2002) TIMBER: A native XML database, Springer Berlin, VLDB Journal, V.11, p.274-291. Kelledy, F.; Smeaton, A. F. (1997) Automatic Phrase Recognition and Extraction from Text, Proceedings of the 19th Annual BSC-IRSG Colloquium on IR Research. Lee, J.; Lee, K. e Kim, W. (2001) Preparations for Semantics-Based XML Mining, IEEE. Li, Y.; Yu, C. e Jagadish, H.V. (2004) Schema-Free Xquery, VLDB. Lian, Wang; Cheung David; Mamoulis, Nikos e Yiu, Siu-Ming. (2004) An efficient and scalable algorithm for Clustering XML Documents by Structure, IEEE. Nierman, A. e Jagadish, H. V. (2002) Evaluating Structural Similarity in XML Documents, Proc. Int. Workshop on the Web and Databases (WebDB), Madison, WI. Pereira, J. C. L. e Bax, M. P. (2002) Introduo a Gesto de Contedos, Workshop Brasileiro de Inteligncia Competitiva e Gesto do Conhecimento. Rosa, J.M.C; Tanscheit, R.; Vellasco, M.; Zanini, A; Klein, C.H; Bloch, K.V; Nogueira, A.R; Salis, L.H e Souza e Silva, N.A. (2001) Aplicao Fuzzy Clustering a Banco de Dados de Amostra Domiciliar da Populao da Ilha do Governador, SBAI. Santos, M. O. (2007) Armazenamento e Recuperao de Documentos XML Heterogneos: Aplicando Tcnicas de KDD para apoiar o projeto fsico em SGBDs XML Nativos, IME, Dissertao. Schning, H. (2001) "Tamino-A DBMS designed for XML", Int. Conf. on Data Engineering. Shvaiko, P.;Euzenat, J. (2005) "A Survey of Schema-Based Matching Approaches", Journal on Data Semantics IV, volume 4, p.146-171. UNESCO. (1973) Guidelines for the establishment and development of monolingual thesauri. Paris, 37p. Yang, J.; Cheung, W. e Chen, X. (2005) Integrating Element and Term Semantics for Similarity-Based XML Document Clustering, Int. Conf. on Web Intelligence.

314

You might also like