• No results found

Apesar dos protótipos de investigação denotarem, regra geral, uma apetência para o tratamento alargado dos defeitos nos dados, iremos tentar circunscrever estas propostas em grupos homogé- neos que procurem, predominantemente, referenciar um domínio específico. Assim, consideramos três categorias principais: auditoria dos dados, duplicação dos dados e transformações nos dados.

Propostas de auditoria dos dados

A auditoria dos dados emprega algoritmos de mineração de dados para aferir e melhorar a quali- dade dos dados. A auditoria pode ser dividida em duas tarefas: a indução da estrutura e a detec- ção dos desvios. A indução da estrutura corresponde a uma descrição sobre a estrutura dos da- dos existentes. Enquanto, a detecção dos desvios ocupa-se da verificação dos dados que deno- tam desvios capazes de revelarem possíveis erros e a geração das acções correctivas desses erros [Jarke et al., 2003].

A proposta de apresentada em [Marcus & Maletic, 2000] consiste na aplicação de algoritmos de mineração de dados na detecção automática de erros na base de dados do centro de investigação e desenvolvimento da marinha dos E.U.A.. O objectivo final da proposta passa pela aprovação dos métodos considerados como capazes de identificarem os valores fora dos domínios considerados e que se revelam errados. Os métodos utilizados são: a detecção estatística de valores fora dos limites, a segmentação dos dados, baseada em padrões e as regras de associação.

O protótipo apresentado em [Jarke et al., 2003] define-se como um ambiente de auditoria dos da- dos e pretende resolver as anomalias nos dados através de processos que envolvam métodos de aprendizagem pela máquina, capazes de induzir estruturas compreensíveis semanticamente sobre os dados existentes. Deste modo, torna-se possível classificar os valores situados fora dos limites definidos como erros potenciais. A investigação assenta em dois processos principais: a geração de dados de teste e a indução da estrutura e detecção dos desvios. A proposta pressupõe tam- bém como actividades: a análise do domínio, a selecção e adaptação do algoritmo de mineração dos dados a usar e a interactividade com o utilizador no momento da correcção. A análise de do- mínio consiste na identificação por um perito das propriedades estruturais dos dados. Assim, en- contram-se criadas as condições para a criação de um banco de dados de teste. Baseados nestes dados de teste é possível testar a aplicação de diferentes algoritmos de mineração. Estes algorit- mos são sujeitos a adaptações contínuas e são testados até que os resultados sejam considera- dos satisfatórios. Por fim, a ferramenta de auditoria dos dados é usada por um engenheiro de da- dos em vista a detecção de erros e a definição de sugestões para a obtenção de valores correctos na base de dados.

Propostas de tratamento de duplicados

Método da reunião e remoção

A investigação apresentada em [Hernandez & Stolfo, 1998] consiste numa proposta de identifica- ção e eliminação de valores duplicados em conjuntos de dados. Regularmente, os métodos de identificação de duplicados assentam em algoritmos de pesquisa dos dados na busca de registos

referentes a uma mesma entidade. Esta proposta [Hernández & Stolfo, 1995, 1998] apresenta-se como um dos métodos, especializados na identificação de duplicados, mais referidos nas investi- gações desenvolvidas. A proposta consiste num método eficiente que reduz o número de compa- rações necessárias, designado por método da vizinhança ordenada. As linhas são ordenadas em função duma chave construída a partir das colunas duma tabela, na esperança que as linhas du- plicadas se encontrem perto umas das outras. Em seguida, apenas as linhas que se encontram no interior duma janela são comparadas entre si de modo a detectar a possível duplicação. A janela desloca-se ao longo das linhas que fazem parte da tabela. A classificação dum par de linhas como duplicado é baseada em regras. Em vista aumentar a precisão do algoritmo, os resultados das diversas passagens (deslocamentos das janelas) são combinados através da transitividade entre todos os pares de duplicados encontrados, designando-se esta passagem como o método multi- passagem sobre a vizinhança ordenada [Oliveira et al., 2004].

Este método foi posteriormente refinado para dar resposta a situações em que novos dados são adicionados aos dados anteriormente inspeccionados e tratados (situação típica em ambientes de DW). O algoritmo original prevê que todo o conjunto de dados seja inspeccionado, mas o novo método assume uma perspectiva incremental. A postura incremental baseia-se em informações anteriores, recolhidas das execuções do método de reunião e remoção. O objectivo consiste na redução do tempo dispendido, em comparação com método original, na identificação e junção de duplicados [Hernandez & Stolfo, 1998].

Eliminação de linhas ligeiramente duplicadas

A proposta de [Ananthakrishna et al., 2002] consiste, também, numa aproximação visando a elimi- nação de valores duplicados. É expressa uma proposta que pretende evitar os problemas dos métodos de ordenação (e.g. método de reunião e remoção), como seja o elevado número de fal- sos positivos originados por esses métodos. Esta proposta faz uma destrinça clara entre a detec- ção de duplicados em SGBDs relacionais (as colunas de duas linhas têm de ser iguais) e a detec- ção de duplicados em operações de limpeza de dados, que apresentam questões mais subtis. Daí, a assumpção como o problema das linhas vagamente duplicadas. A investigação tem como objecto de estudo as tabelas dimensão envolvidas num esquema multidimensional dum DW. A proposta consiste num algoritmo (Delphi), que explora as hierarquias das tabelas dimensão, em vista a remoção de duplicados e a redução dos falsos positivos que os outros métodos provocam. Esta proposta recorre ao método apresentado em [Hernández & Stolfo, 1995], em especial, na adopção da estratégia de janela para comparar todas as linhas situadas dentro dela.

IntelliClean

A proposta IntelliClean [Lee et al., 2000a] ocupa-se, essencialmente, da eliminação de valores duplicados em conjuntos de dados. A proposta baseia-se em três etapas: o pré-processamento, o processamento e a verificação e validação humana. A primeira etapa respeita à análise e correc- ção das irregularidades sintácticas dos dados e à uniformização consistente de tipos de dados, formatos e abreviaturas. Na etapa do processamento estabelecem-se regras de limpeza dos da- dos pré-processados. As regras consideradas são classificadas em quatro tipos. As regras de identificação de duplicados especificam quando duas linhas são consideradas duplicadas. As re- gras de fusão e remoção indicam quando é que duas linhas devem ser fundidas. As regras de actualização indicam como as linhas são actualizadas. As regras de alerta definem as condições de aviso aos utilizadores. Por último, a etapa de verificação e validação compreende a intervenção humana em vista aferir a eficácia das operações realizadas nos dados e eventualmente proceder à sua correcção, como seja a decisão de linhas para as quais não foram definidas regras de fusão e remoção ou corrigir situações em que as linhas foram consideradas erradamente como duplica- das [Müller & Freytag, 2002] [Lee et al., 2000a] [Low et al., 2001].

Propostas de transformação dos dados

Sistema AJAX

O sistema AJAX [Galhardas et al., 2000a, 2000b] é uma proposta assente numa arquitectura flexí- vel e extensível que procura separar o nível lógico e físico. O nível lógico especifica as operações de limpeza dos dados a realizar e o nível físico, trata dos aspectos relacionados com a implemen- tação. O principal objectivo consiste em facilitar a transformação dos dados existentes numa ou mais fontes de dados num determinado esquema alvo e executar, simultaneamente, um conjunto de acções de remoção de defeitos nos dados. A proposta considera cinco tipos de operações de transformação sobre os dados: o mapeamento, a vista, a correspondência, a segmentação e a fusão [Galhardas et al., 2000] [Oliveira et al., 2004] [Müller & Freytag, 2002].

O mapeamento consiste na uniformização entre diferentes formatos dos dados (e.g. formato das datas) ou simplesmente na fundição ou divisão de atributos sob um formato predefinido. A trans- formação de vista corresponde ao operador vista de SQL, permitindo especificar as uniões e jun- ções em SQL e verificar violações de integridade referencial dos dados. A correspondência respei- ta à identificação de pares de linhas que, com grande probabilidade, correspondem à mesma enti- dade ou objecto. As linhas são comparadas usando uma ou várias colunas definidas como crité- rios para a duplicação de valores dos dados. O terceiro tipo de transformação, a segmentação, baseia-se nos resultados da operação de transformação precedente e agrupa os pares de linhas

que aparentam um elevado grau de semelhança. Por último, a operação de fusão consiste na aplicação sobre cada segmento de linhas, obtido na operação anterior, com objectivo de eliminar os valores duplicados [Galhardas et al., 2000] [Müller & Freytag, 2002]. A investigação trata o as- sunto da eliminação dos valores duplicados como o problema de identificação do objecto.

O processo de remoção de anomalias dos dados é modelado como um grafo dirigido das opera- ções de transformação sobre o fluxo de dados. A arquitectura alberga ainda um mecanismo de linhagem dos dados que possibilita aos utilizadores do sistema a análise da proveniência dos da- dos e deste modo, contribuir para a correcção dos valores que deram origem a deficiências nos dados [Müller & Freytag, 2002].

Potter’s Wheel

A proposta Potter’s Wheel [Raman & Hellerstein, 2001] disponibiliza um sistema de limpeza dos dados que integra num único interface, simultaneamente, a detecção das discrepâncias dos dados e as operações de transformação a executar sobre os mesmos. Este sistema permite aos utiliza- dores, gradualmente, procederem à composição e análise das operações de transformação sob um interface gráfico e intuitivo, do tipo folha de cálculo [Low et al., 2001]. O utilizador define os resultados a atingir sobre uma amostra de dados e automaticamente são inferidas as expressões que descrevem o domínio especificado. Deste modo, os utilizadores não necessitam de especifi- car as expressões antecipadamente [Raman & Hellerstein, 2001] [Müller & Freytag, 2002]. As transformações deste sistema são muito similares aos operadores de reestruturação oferecidos pelo SchemaSQL. Contudo, a solução aqui apresentada visa a facilidade na especificação e a aplicação incremental das operações de transformação e não apenas mostrar a potência dessas transformações [Raman & Hellerstein, 2001].

Os tipos de discrepâncias nos dados considerados neste sistema são: a discrepância estrutural, a discrepância esquemática e a violação do domínio. A discrepância estrutural revela-se como con- sequência entre diferenças ao nível do formato dos campos (e.g. 31/Out/2005 e 2005/10/31). Quanto à discrepância esquemática, resulta de uma deficiente estratégia de integração dos dados provenientes de múltiplas fontes. Por último, a detecção da violação do domínio pode ser melho- rada pela aplicação de algoritmos específicos do domínio. Esta discrepância pode assumir duas formas distintas: envolvendo uma única linha, quando o valor de uma coluna viola as restrições referentes ao seu domínio e envolvendo várias linhas, ou seja, quando o valor de uma ou mais linhas violam uma restrição, ainda que, individualmente, cada linha esteja correcta (e.g. violação de dependência funcional) [Oliveira et al., 2004].

ARKTOS

O ARKTOS é uma proposta que permite a modelação e execução do processo de ETL, em am- bientes de DW, baseado num conjunto de primitivas para a realização de tarefas de transformação e limpeza comuns nestes processos [Vassiliadis et al., 2001]. As tarefas de limpeza dos dados estão incluídas no processo de ETL, que envolve igualmente a extracção cirúrgica de dados rele- vantes das fontes, a sua transformação numa uniformização definida e por fim, a execução do carregamento num DW. A proposta designa as operações do processo de ETL como actividades, constituindo-se estas como unidades atómicas de trabalho. Dado que a finalidade de uma activi- dade é efectuar uma acção no processo de ETL, então cada actividade encontra-se conectada a tabelas de um ou mais conjuntos de dados. A cada actividade encontra-se também associada um tipo de erro particular e uma política da acção a tomar. A lógica subjacente a cada actividade é descrita através de uma instrução SQL [Vassiliadis et al., 2001] [Müller & Freytag, 2002].

O ARKTOS procura fornecer funcionalidades que colmatem as dificuldades comuns de complexi- dade e manuseamento inerentes a um cenário de ETL. Assim, são oferecidos dois modos de defi- nição das actividades: o modo gráfico e o modo declarativo [Vassiliadis et al., 2001]. O primeiro, fornece um conjunto de actividades que correspondem às operações mais usuais de transforma- ção e limpeza, de modo a suportar o processo de ETL e que visam tratar as seguintes violações: chave primária, integridade referencial, unicidade, valor nulo, formato e domínio. O segundo modo potencia o recurso a duas linguagens declarativas: a XADL, orientada para uma fácil e compreen- sível descrição do cenário e a SADL, destinada a suportar a definição declarativa do cenário de ETL, num estilo de SQL [Vassiliadis et al., 2001]. O sucesso da limpeza dos dados pode ser medi- do para cada actividade através da execução do comando SQL que faça a contagem das linhas que correspondem ou violam as diversas regras [Müller & Freytag, 2002].