Reconciliando Dados de Cunho Acadêmico
Descrição do Produto
XXIII Simpósio Brasileiro de Banco de Dados
Reconciliando Dados de Cunho Acadêmico Bruno Tomazela1, Cristina Dutra de Aguiar Ciferri1, Caetano Traina Junior1 1
Departamento de Ciências de Computação – Universidade de São Paulo (USP) Caixa Postal 668 – 13.560-970 – São Carlos – SP – Brasil {tomazela, cdac, caetano}@icmc.usp.br
Abstract. Academic data from the researchers’ curricula are valuable data for several management activities, and several institution publishes data that can be seen as part of those curricula, including the Lattes Curricula System from CNPq, the Digital Bibliography & Library Project, ISI Web of Knowledge and the Portal Brasileiro de Informação Científica from CAPES. However, integrating data from those sources can lead to inconsistency and/or incompleteness, as they can describe the same academic object in distinct ways. In this paper, we describe a tool aimed at improving the process of reconciling the description of academic objects obtained from distinct sources, called the Academic Data Reconciler. It performs similarity searches over two sets of academic objects from the same category, and aligns the pairs of more similar objects, allowing the user to transfer data from one object to the other. It allows, for example, to transfer data from the curriculum of a given researcher to others to whom they share academic activities or to transfer data from publishing houses, enforcing a more correct and consistent description of the reconciled data. Resumo. Atualmente estão difundidas várias formas de publicação de dados acadêmicos dos pesquisadores, como a Plataforma Lattes do CNPq, as bases de publicações DBLP, ISI Web of Knowledge e o Portal Brasileiro de Informação Científica. Em conjunto, essas fontes armazenam dados repetidos, inconsistentes e complementares. Este artigo descreve uma ferramenta, chamada Reconciliador de Dados Acadêmicos, que semi-automatiza a integração e o compartilhamento de dados acadêmicos, o preenchimento de currículos e a geração de relatórios acadêmicos, aproveitando a existência dos dados disponíveis em diferentes fontes. A ferramenta fornece meios para a visualização, a sincronização e o intercâmbio de dados. Com o uso da ferramenta, elimina-se a necessidade dos pesquisadores digitarem os mesmos dados repetidas vezes. Além disso, há a possibilidade de que apenas um pesquisador digite novos dados e outros utilizem a ferramenta para inserir esses novos dados em seus currículos. Portanto, o Reconciliador não somente facilita a árdua tarefa de manter os currículos dos pesquisadores atualizados, como também incentiva a homogeneidade dos dados compartilhados.
1. Introdução O atual cenário de financiamento de pesquisa analisa pesquisadores com experiência em suas respectivas áreas de atuação, a qual é avaliada por parâmetros quantitativos e qualitativos relacionados à titulação, produção bibliográfica, orientação, desenvolvimento de projetos de pesquisa e participação em bancas, dentre outros. Um
283
XXIII Simpósio Brasileiro de Banco de Dados
meio de avaliar um pesquisador e a relevância das atividades por ele desenvolvidas consiste em analisar o seu currículo, extraindo os dados necessários e analisando os parâmetros desejados. De forma similar, para avaliar um Departamento, um Instituto ou um Programa de Pós-Graduação de uma Universidade, pode-se analisar a qualidade de seus pesquisadores, utilizando como base os dados disponíveis em seus currículos. Uma forma difundida de publicação de dados acadêmicos dos pesquisadores é o Currículo Lattes, o qual é um componente da Plataforma Lattes desenvolvida para o CNPq (Conselho Nacional de Desenvolvimento Científico e Tecnológico) (http://lattes.cnpq.br). O Currículo Lattes tem sido utilizado por diversas Instituições, bem como por toda a comunidade científica brasileira, como docentes, estudantes, gestores, profissionais e demais atores ligados à Ciência e Tecnologia. Os Currículos Lattes têm sido usados para subsidiar tanto as atividades de fomento do CNPq, quanto as ações de fomento de outras agências estaduais e federais. Cada currículo contém dados de cunho acadêmico de um pesquisador. No entanto, pesquisadores geralmente trabalham em ambiente colaborativo, por exemplo, desenvolvendo conjuntamente projetos de pesquisa, publicando artigos ou participando de bancas. Como resultado, diferentes currículos podem descrever os mesmos dados. Como cada currículo é preenchido independentemente, os dados comuns podem estar inconsistentes, decorrente de erros de digitação, da utilização de diferentes formas de abreviação e do uso de formatos heterogêneos, dentre outros. Além dos dados declarados em seus Currículos Lattes, existem outras informações curriculares dos pesquisadores espalhadas em bases de publicações. Por exemplo, a DBLP (Digital Bibliography & Library Project) (http://www.informatik.uni-trier.de/~ley/dB) é uma biblioteca digital da Ciência da Computação que lista mais de um milhão de artigos científicos publicados em periódicos e conferências difundidos mundialmente. Outros exemplos incluem as bases de publicações ISI Web of Knowledge (http://www.isiwebofknowledge.com) e o Portal Brasileiro de Informação Científica (http://www.periodicos.capes.gov.br). Comparando as publicações disponibilizadas nestas bases de publicações com os currículos dos pesquisadores, existem dados repetidos, que podem estar inconsistentes, incompletos ou serem complementares. As atividades acadêmicas centralizam objetos de várias categorias e, embora centradas nos pesquisadores, cada categoria possui um foco de interesse próprio. Por exemplo, editoras têm interesse no registro dos artigos publicados, e órgãos financiadores têm interesse nos projetos concedidos. Assim, hoje em dia, cada Instituição mantém o seu próprio sistema automatizado, e cada atividade acadêmica é descrita em diferentes sistemas. As descrições são independentes e, portanto, podem ser diferentes. Entretanto, desde que elas descrevem a mesma ocorrência da atividade, não deveria haver conflito entre as descrições, tais como inconsistências ou incompletude. Este artigo descreve os conceitos envolvidos no desenvolvimento de uma ferramenta que visa restituir as várias descrições de acordo com a ocorrência à qual elas se referem, ou seja, ela permite reconciliar as várias descrições de forma a eliminar inconsistências e de completar as descrições mutuamente. Denominada Reconciliador de Dados Acadêmicos, a ferramenta semi-automatiza o preenchimento dos currículos dos pesquisadores, no que tange ao compartilhamento, à integração e à existência dos
284
XXIII Simpósio Brasileiro de Banco de Dados
mesmos dados disponíveis em diferentes bases. Com o uso da ferramenta, não existe a necessidade dos pesquisadores digitarem dados que podem ser obtidos em fontes já disponíveis. Além disso, torna-se viável o fato de que apenas um pesquisador digite novos dados e outros utilizem a ferramenta para inserir esses novos dados em seus currículos. Portanto, o Reconciliador não somente facilita a tarefa de manter os currículos dos pesquisadores atualizados, como também estimula a homogeneidade dos dados comuns a mais de um pesquisador.
O Reconciliador de Dados Acadêmicos oferece três funcionalidades principais: � Visualização. A ferramenta exibe dados acadêmicos dos pesquisadores, os quais podem ser oriundos dos Currículos Lattes, das bases de publicações ou de outras fontes de dados. O Reconciliador exibe simultaneamente dois documentos: um à esquerda e outro à direita. Estes documentos podem incluir dados de um mesmo pesquisador ou de pesquisadores diferentes, oriundos de uma mesma fonte ou de fontes heterogêneas. � Sincronização. A ferramenta compara os dados exibidos, emparelhando aqueles que são similares e desemparelhando aqueles que não são similares. � Troca de Dados. A ferramenta reconcilia os dados sincronizados, por meio da cópia dos dados entre os documentos exibidos. Esta cópia pode ser feita do documento da esquerda para o da direita, e vice-versa. Além disto, é possível editar o valor dos dados, caso ambos os documentos contenham dados incorretos ou incompletos.
Este artigo está estruturado da seguinte maneira. A Seção 2 resume trabalhos correlatos. A Seção 3 descreve a arquitetura do Reconciliador de Dados Acadêmicos, enquanto que a Seção 4 ilustra um exemplo de uso. O detalhamento da arquitetura é feito na Seção 5. A Seção 6 enumera diferentes cenários nos quais os usuários podem usar a ferramenta para resolver problemas comumente confrontados no dia-a-dia. Finalmente, a Seção 7 apresenta as conclusões.
2. Trabalhos Correlatos Dois problemas de integração diretamente relacionados à proposta do Reconciliador de Dados Acadêmicos são a integração de esquemas e a integração de instâncias [Halevy et al. 2006]. Na integração de esquemas, visa-se principalmente a geração de mapeamentos semânticos entre esquemas de fontes de dados heterogêneas, da forma mais automática possível [McCann et al. 2005, Madhavan et al. 2005, Kang and Naughton 2003]. Na integração de instâncias (i.e., resolução de entidade), trabalhos existentes atualmente enfocam em identificar automaticamente quais objetos referem-se a uma mesma entidade do mundo real, e agrupar estas entidades em clusters [Bhattacharya and Getoor 2007, Chen et al. 2007, Kalashnikov and Mehrotra 2006, On et al. 2006, Dong et al. 2005]. O presente artigo tem dois diferenciais com relação aos trabalhos correlatos voltados à integração de esquemas e de instâncias. Primeiro, eles visam propor soluções genéricas para os problemas de integração, enquanto que o presente artigo descreve uma experiência de desenvolvimento de uma ferramenta que visa semi-automatizar o preenchimento dos currículos dos pesquisadores, um problema bastante comum atualmente. Um exemplo de especialização é na tarefa de busca de atributos similares,
285
XXIII Simpósio Brasileiro de Banco de Dados
que levam em conta variações específicas, tal como nomes de autores, editoras e datas. Outro diferencial refere-se ao fato de que, embora os trabalhos voltados à integração de instâncias agrupem em um cluster objetos que possuem alta probabilidade de serem os mesmos, este processo não é 100% preciso. Além disso, um cluster somente agrupa objetos, mas não identifica quais dados são corretos dentre os possíveis valores do cluster. Assim, sempre existe a necessidade de intervenção humana para identificar quais dados são corretos e para garantir 100% de precisão. Do ponto de vista prático, existem ferramentas no mercado para a edição e a comparação de documentos XML, tais como Stylus Studio (www.stylusstudio.com), Altova DiffDog (www.altova.com/products/diffdog/diff_merge_tool.html) e xmlcmp (www.xmlcmp.com). Elas oferecem funcionalidades distintas do Reconciliador de Dados Acadêmicos principalmente nos aspectos de comparação por similaridade, no tratamento genérico dos dados e no tratamento do registro das operações efetuadas pelos usuários, que no caso do Reconciliador permite acompanhamento posterior visando auditagem e controle da procedência dos dados.
3. Ferramenta Reconciliador de Dados Acadêmicos 3.1. Definições Básicas Categoria de exibição. São as diversas categorias de dados de cunho acadêmico armazenadas nas fontes de dados. Exemplos de categorias presentes no Currículo Lattes incluem artigos em periódicos ou em conferências, projetos de pesquisa e orientações. Esquema de categoria. São os atributos, simples ou compostos, que descrevem a categoria. Por exemplo, para um objeto da categoria artigos em periódicos, seus atributos simples incluem título, ano, país e idioma, e seus atributos compostos incluem periódico e lista de autores. Com isso, o esquema de uma categoria sempre é representado por uma hierarquia. Toda hierarquia se inicia com um atributo composto. Objeto de categoria. Corresponde a cada instância de um esquema de categoria. Para a categoria artigos em periódicos, os pares {, , , } constituem um objeto desta categoria. Um objeto pode ser composto por outros objetos (e.g., atributo composto). Filtro. Critério de seleção que especifica quais objetos de uma determinada categoria são manipulados na ferramenta em um determinado momento. Por exemplo, um filtro pode exibir somente as publicações em periódicos no ano de 2008. Documento. Arquivo que possui dados de cunho acadêmico de um pesquisador. Um documento pode ser de um entre vários tipos, como um Currículo Lattes de um pesquisador, uma lista de publicações obtida da DBLP ou do Portal Brasileiro de Informação Científica, ou ainda um conjunto de dados acadêmicos oriundos de uma determinada fonte de dados. Um documento corresponde a uma coleção de objetos de uma ou mais categorias, representadas segundo o padrão XML. 3.2. Aspectos Funcionais e Arquitetura O Reconciliador visa auxiliar a comparação e a integração de dois documentos, cada um contendo dados de um pesquisador. Ela faz isso mostrando, lado a lado, os objetos de uma das categorias presente em ambos os documentos. Suas funcionalidades incluem:
286
XXIII Simpósio Brasileiro de Banco de Dados
� Visualizar objetos por categoria e restringidos por filtros; � Sincronizar os objetos exibidos; � Copiar dados de um documento para outro; � Editar dados incorretos e/ou incompletos; e � Salvar as alterações realizadas nos documentos. A arquitetura do Reconciliador de Dados Acadêmicos é mostrada na Figura 1. O repositório de documentos é uma coleção de documentos de vários tipos. Para usar a ferramenta, o usuário escolhe dois documentos, que podem ser de tipos iguais ou diferentes. Pode-se escolher, por exemplo, duas versões do Currículo Lattes de um pesquisador, ou os currículos de dois pesquisadores, ou o currículo de um pesquisador e sua lista de publicações obtida da DBLP. Repositório de Árvores�NM
Árvore�NM �
Módulo Extrator
Documento �
Conjunto de Visões �
Visão �
Módulo Reconciliador
Repositório de Documentos
Árvore�NM 2
Visão 2
Módulo Extrator
Conjunto de Visões 2
Documento 2
Figura 1. Arquitetura da Ferramenta Reconciliador de Dados Acadêmicos.
Escolhido o par de documentos, o módulo extrator extrai os dados de interesse e gera um conjunto de visões para cada documento. A extração é realizada com base em uma estrutura auxiliar, chamada árvore-NM, desenvolvida como parte da ferramenta. Cada tipo de documento é governado por uma árvore-NM, a qual especifica como navegar em documentos daquele tipo e como selecionar os dados de interesse para gerar as visões. As árvores-NM são obtidas a partir do repositório de árvores-NM. Nas visões, podem ocorrer dois níveis de seleção de dados. A primeira seleção segue a especificação do par de árvores-NM sobre quais atributos podem ser obtidos de cada documento. A segunda seleção corresponde ao filtro que o usuário estabelece, a qualquer instante, para selecionar ocorrências de objetos de determinada categoria. A partir desse ponto, existem duas visões, compostas por objetos de uma mesma categoria, que correspondem aos dados de interesse dos dois documentos em análise. O módulo reconciliador exibe então duas visões lado a lado, uma de cada documento, procurando sincronizar os objetos entre ambas as visões. Sincronizar significa comparar os objetos de duas visões, emparelhando os que são similares e desemparelhando os que não são similares. Depois de sincronizados, os dados de cada objeto podem ser copiados de uma visão para a outra. Além disso, é possível editar os valores dos dados, caso ambas as visões possuam dados incorretos/incompletos. Cada alteração realizada em uma visão é diretamente refletida no respectivo documento.
287
XXIII Simpósio Brasileiro de Banco de Dados
4. Exemplo de Uso do Reconciliador de Dados Acadêmicos Esta seção ilustra um exemplo de uso do Reconciliador, desde o processo inicial de escolha de documentos até a troca de dados. O primeiro passo do uso do Reconciliador consiste em escolher quais documentos serão manipulados. No exemplo, são escolhidos dois documentos: o Currículo Lattes (Figura 2a) de um pesquisador enfocando a categoria de referências bibliográficas, e uma lista de publicações obtida da DBLP (Figura 3a) do mesmo pesquisador. Como os documentos são de tipos diferentes, cada um é governado por uma árvore-NM distinta (Figuras 2b e 3b), sendo seus elementos e atributos detalhados na Seção 5.1. Cada árvore-NM especifica os dados de interesse das categorias para cada tipo de documento. Nas Figuras 2b e 3b, os dados de interesse filtrados são o título, o ano e os anais dos artigos. Por exemplo, os elementos AUTORES e author não são de interesse e, portanto, não estão presentes. A geração de uma árvore-NM a partir de um documento XML é realizada de forma automática e é guiada por uma ontologia definida no domínio de dados de cunho acadêmico. Esta ontologia oferece suporte para a integração de esquemas, definindo nomes de atributos em comum e níveis nos quais esses atributos aparecem na hierarquia. Por exemplo, em ambas as Figuras 2b e 3b, o título dos artigos são especificados pelo ALIAS ‘Título’ e são associados ao LEVEL 2, independentemente dos nomes e da estrutura nos quais eles são definidos nos documentos originais (e.g., ‘Titulo-Do-Artigo’ na Figura 2a e ‘title’ na Figura 3a). Uma árvore-NM especifica o esquema de uma ou mais categorias, enquanto que uma visão agrupa o conjunto de objetos de apenas uma categoria. Isto pode ser observado nas visões das Figuras 2c e 3c. O conceito de visão é detalhado na Seção 5.2. Note que essas visões possuem o mesmo esquema de categoria, requisito fundamental para que elas possam ser sincronizadas na interface da ferramenta. Uma visão é gerada pelo módulo extrator a partir de um documento XML e de uma árvore-NM, sendo seu algoritmo descrito na Seção 5.3. A Figura 4 exibe as duas visões do exemplo corrente na interface do Reconciliador. Nesta figura, os objetos não estão sincronizados. À esquerda, é exibida a visão referente ao documento de tipo Currículo Lattes da Figura 2c (indicado como (1) na Figura 4) e à direita (2), a visão relativa à DBLP da Figura 3c. A categoria selecionada é ‘Artigos em Eventos’ (3). Assim, são exibidos apenas artigos científicos (4), considerando os atributos título, ano e anais, conforme especificado nas árvoresNM. O contador logo abaixo de cada painel indica o número de objetos exibidos (5). Na Figura 4, nenhum filtro está definido, porém o usuário poderia especificá-lo nas caixas de textos indicadas como (6).
288
XXIII Simpósio Brasileiro de Banco de Dados
(b) Árvore-NM para o Currículo Lattes.
(a) Documento XML referente a um Currículo Lattes.
Artigos em Eventos
Artigo
Título Visually Mining an...
Ano 2002
Artigo
Título ...
Anais Proceedings...
Ano ...
Anais ...
(c) Visão artigos em eventos com dados de um Currículo Lattes.
Figura 2. Documento XML, árvore-NM e visão para um Currículo Lattes.
Maria Camila Nardini Barion Caetano Traina Jr. Agma J. M. Traina Visually Mining on Multiple Relational Tables at Once 21-30 2002 ADBIS Research Communications
(a) Documento XML referente à DBLP.
(b) Árvore-NM para a DBLP. Artigos em Eventos
Artigo
Artigo
Título Visually Mining on…
Ano 2002
Anais ADBIS R...
Título ...
Ano ...
Anais ...
(c) Visão artigos em eventos com dados da DBLP.
Figura 3. Documento XML, árvore-NM e visão para publicações da DBLP.
289
XXIII Simpósio Brasileiro de Banco de Dados
�6)
�6) �1)
�2)
�3)
�3)
�4)
�4) �5)
�5)
Figura 4. Exibição de dois documentos de tipos diferentes.
A Figura 5 mostra o resultado da sincronização entre as duas visões da Figura 4, com base nos atributos chave, título e ano. Esta sincronização é realizada pelo módulo reconciliador, sendo seu algoritmo descrito na Seção 5.4. Quando dois objetos são identificados como similares, eles são posicionados na mesma linha (i.e., emparelhados). Deste modo, a identificação dos objetos correspondentes se torna visualmente mais clara. Marcas em cinza escuro nos atributos de objetos correspondentes indicam valores diferentes (7), enquanto que marcas em cinza claro indicam valores similares/iguais (8). Para os objetos (i.e., atributos compostos), marcas em cinza escuro indicam parcialmente iguais, ou seja, os objetos possuem os mesmos valores para os atributos chave, porém têm valores diferentes em um ou mais de seus atributos não chave (9). Ainda para os objetos, marcas em cinza claro indicam que eles possuem os mesmos valores para todos os seus atributos. Em contrapartida, objetos sem correspondentes são posicionados em linhas diferentes (i.e., desemparelhados) (10). Após a sincronização, os objetos similares estão emparelhados, fornecendo uma representação visual das inconsistências entre os dados das duas visões (i.e., dos dois documentos). É possível, então, copiar atributos e objetos. Por exemplo, pode-se copiar o artigo intitulado “The MM-Tree ...” do painel da esquerda para o da direita. Quando uma cópia é executada, ela fica restrita aos atributos que estão sendo exibidos, assim o usuário sempre tem uma realimentação visual das operações que ele executa. A ferramenta pode exibir quaisquer dos atributos que estejam nos documentos, embora nos exemplos mostrados tenham sido selecionados apenas os títulos, anos e anais. Um exemplo mais genérico é mostrado na Figura 6.
290
XXIII Simpósio Brasileiro de Banco de Dados
�9) �8) �7)
�9) �8) �7) �9) �10)
�10)
Figura 5. Sincronização de objetos.
Figura 6. Exemplo com vários atributos.
291
XXIII Simpósio Brasileiro de Banco de Dados
5. Detalhamento da Arquitetura 5.1 Árvore-NM: Árvore de Navegação e Mapeamento O Reconciliador de Dados Acadêmicos manipula documentos XML, sendo que as estruturas desses documentos podem ser heterogêneas, ou seja, de tipos diferentes. Uma árvore-NM é um conceito que permite ao Reconciliador de Dados utilizar sempre o mesmo algoritmo para manipular documentos XML, independentemente dos seus tipos. Ademais, uma árvore-NM também é um documento XML, cujo DTD varia de acordo com o documento XML de entrada. Assim, para cada documento sendo manipulado, existe uma árvore-NM seguindo a estrutura do DTD deste documento. Embora exista a necessidade de elaboração de diferentes árvores-NM, o uso deste conceito flexibiliza a manipulação de documentos XML no Reconciliador, desde que os dados de interesse podem ser extraídos de qualquer documento por meio do mesmo algoritmo. Além disso, uma árvore-NM também é um arquivo XML. Portanto, a complexidade de se definir uma árvore-NM é bem menor do que a necessária para se desenvolver algoritmos específicos conforme o DTD do documento de entrada. Outro aspecto é que uma árvore-NM relativa a um documento é gerada automaticamente com base em uma ontologia, como salientado na Seção 4. Uma árvore-NM oferece suporte para três funcionalidades. A primeira delas consiste em navegar na estrutura do documento XML de entrada. Desde que a árvoreNM é definida de acordo com a estrutura do DTD deste documento, ela é capaz de especificar como os dados estão organizados neste documento. Em uma árvore-NM (e.g., Figuras 2b e 3b), o elemento CATEGORY organiza o documento em categorias e o seu atributo ALIAS identifica o nome da categoria. Outra funcionalidade é a seleção de dados de interesse, os quais são representados como elementos DATA. Um elemento DATA pode conter três conjuntos de atributos, como mostra a Figura 7. O conjunto a é utilizado quando o dado de interesse está armazenado em um atributo, enquanto o conjunto b é usado quando o dado de interesse está armazenado como valor do elemento. Já o conjunto c indica um rótulo, o qual serve para definir a estrutura hierárquica dos objetos. Rótulos são os atributos compostos, enquanto os dados de interesse são os atributos simples. Os rótulos não fazem parte do documento e não afetam os dados deste documento.
(a) Atributo
(b) Elemento
(c) Rótulo
Figura 7. Exemplos de elementos DATA em uma árvore-NM.
A terceira funcionalidade consiste em realizar o mapeamento da estrutura do documento XML para a estrutura hierárquica de um esquema de categoria. Para tanto, o atributo ALIAS armazena um nome alternativo para o dado de interesse, substituindo o nome que o dado de interesse possui no documento XML. Já o atributo LEVEL permite que a estrutura do documento XML de entrada seja alterada, desde que o mesmo dado
292
XXIII Simpósio Brasileiro de Banco de Dados
pode estar representado em níveis diferentes no documento e na hierarquia de um esquema de categoria. A especificação dos mesmos valores para ALIAS e LEVEL mapeiam documentos de tipos diferentes para visões com o mesmo esquema. 5.2. Visões Uma visão é uma reestruturação dos dados de um documento XML a fim de agrupar atributos de interesse, assemelhando-se, portanto, a uma operação de projeção em bancos de dados. Uma vez que uma visão representa uma categoria, ela também incorpora uma operação de seleção em banco de dados. Desde que o esquema de uma categoria é uma hierarquia, uma visão é uma estrutura hierárquica, assim como a estrutura de um documento XML. Uma visão é ilustrada graficamente como uma árvore (e.g., Figuras 2c e 3c) e, portanto, deste ponto em diante as explicações serão realizadas em termos de árvores. Os atributos simples correspondem aos nós folhas, enquanto que os atributos compostos correspondem aos nós internos. O nó raiz é a categoria, ou seja, o atributo composto de mais alto nível na hierarquia. Já os nós filhos da raiz representam os objetos da categoria. Cada objeto é identificado por um número de 1 a n de acordo com a ordem em que aparecem na árvore. Ao representar um esquema de categoria, uma visão pode redefinir a hierarquia do documento. Essa redefinição é utilizada para manipular documentos de tipos diferentes, definindo-se uma visão comum para os documentos. Como a visão comum possui a mesma estrutura, ou seja, o mesmo esquema, as devidas correspondências e comparações podem ser feitas entre os dados de documentos de tipos diferentes. No Reconciliador de Dados Acadêmicos, as visões são atualizáveis. Isso implica que toda operação realizada em uma visão é refletida nos documentos originais. As operações que podem ser realizadas são de inserção, remoção e atualização. 5.3. Módulo Extrator O módulo extrator gera uma visão a partir de um documento XML e de sua respectiva árvore-NM. O algoritmo ‘extrator’ está ilustrado na Figura 8. No passo 1, ele obtém da árvore-NM o primeiro filho do elemento CATEGORY da categoria selecionada, denominado e. No passo 2, ele obtém o primeiro elemento correspondente a e no documento XML. Elementos correspondentes são aqueles de mesmo nome. Dos passos 3 ao 6, a árvore-NM e o documento XML são percorridos em profundidade. Durante o percurso, conforme nós DATA são encontrados na árvore-NM, significa que elementos contendo dados de interesse foram encontrados no documento XML, devendo ser recuperados e inseridos na visão. A Figura 2c ilustra uma visão gerada pelo algoritmo extrator, quando esse recebe como entrada o documento XML e a árvore-NM das Figuras 2a e 2b, respectivamente.
293
XXIII Simpósio Brasileiro de Banco de Dados
Algoritmo extrator (documento XML, árvore-NM): visão passo 1 obter o primeiro filho do elemento CATEGORY (elemento e). passo 2 obter o primeiro elemento correspondente a e no documento XML. passo 3 buscar o próximo elemento D�T� na árvore-NM, empilhando todos os elementos encontrados em uma pilha p, e percorrer paralelamente os elementos correspondentes no documento XML. passo 4 inserir na visão os dados de interesse do elemento encontrado, conforme especificado na árvore-NM. passo 5 desempilhar os elementos de p até que um elemento desempilhado possua um irmão no documento XML ou até que a pilha fique vazia. passo 6 se a pilha não estiver vazia então voltar ao passo 3 Fim algoritmo
Figura 8. Algoritmo do Módulo Extrator.
5.4. Módulo Reconciliador O módulo reconciliador compara objetos de duas visões, procurando sincronizá-los. Ele se baseia em dois conceitos: similaridade e emparelhamento. A comparação de duas cadeias de caracteres considera a distância de edição como o primeiro fator de similaridade, seguida da transformação das cadeias específicas para cada tipo de categoria de atributo reconhecido pelo Reconciliador. Por exemplo, um campo cujo ALIAS seja ‘Autor’ pode ser transformado abreviando-se o primeiro nome, ou invertendo-se e removendo a vírgula após o sobrenome, para re-submeter à comparação por distância de edição. Dois atributos são considerados similares caso a similaridade entre seus valores esteja acima de um valor. De maneira análoga, um objeto é similar a outro se a similaridade entre seus atributos chave estiver acima de um valor. Emparelhar dois objetos significa posicioná-los nas visões de forma que eles apareçam na mesma ordem em suas respectivas visões, recebendo a mesma identificação. Para sincronizar duas visões é usado o algoritmo ‘sincronizar’ mostrado na Figura 9, o qual recebe como parâmetros de entrada as raízes das visões. No passo 3, todos os nós dos conjuntos o e u são marcados como diferentes. Isso implica que esses nós são desemparelhados. Todos os nós do conjunto o são visitados (passo 4) e comparados com os nós do conjunto u (passo 5), em busca de nós com valores similares. O algoritmo termina após visitar todos os nós do conjunto o ou se todos os nós do conjunto u já foram emparelhados com algum nó do conjunto o. A comparação entre os nós é feita na função ObjetosSimilares (passo 6) e pode ser realizada entre nós folhas e nós internos. Para o caso de nós folha, a comparação é feita primeiro em termos dos seus alias (derivados dos atributos ALIAS dos nós DATA que geraram os nós). Se os alias forem iguais, então são comparados os seus valores. Se os seus valores forem similares, os nós são considerados iguais e são ditos correspondentes. Quando dois nós folhas correspondentes são encontrados, eles são emparelhados. Como o esquema das categorias de objetos sempre é uma hierarquia, a comparação também pode ser feita entre nós internos. Para decidir se nós internos são similares, o seu conjunto de nós filhos que participam da chave são comparados. Assim,
294
XXIII Simpósio Brasileiro de Banco de Dados
para que dois nós internos sejam considerados correspondentes, o conjunto de nós filhos que armazenam as chaves têm que ser correspondentes. Nós internos correspondentes também são emparelhados, assim como os nós folhas. Algoritmo sincronizar (nó 1, nó 2) obter o conjunto o de nós filhos do nó 1 passo 1 obter o conjunto u de nós filhos do nó 2 passo 2 marcar todos os nós dos conjuntos o e u como diferentes passo 3 para todos os nós marcados como diferentes no conjunto o passo 4 obter o próximo nó n marcado como diferente no conjunto o para todos os nós marcados como diferentes no conjunto u passo 5 obter o próximo nó m marcado como diferente no conjunto u se ObjetosSimilares(n, m) é verdade passo 6 então emparelhaNos(n, m) marcar os nós n e m como iguais voltar para o passo 4 senão voltar ao passo 5 fim para fim para Fim algoritmo Figura 9. Algoritmo do Módulo Reconciliador.
Na primeira chamada do algoritmo, o conjunto de nós filhos o e u são os objetos da categoria. Uma vez identificado que dois objetos são similares, os objetos que o compõem podem ser sincronizados usando o algoritmo da Figura 9. Além da funcionalidade de sincronização, o módulo reconciliador também permite a cópia de dados entre visões sincronizadas. A cópia pode ser entre atributos e entre objetos. A cópia entre atributos é feita de forma a sobrepor valores de atributos de objetos correspondentes. Já a cópia de objetos pode ser de sobreposição ou de inserção. No segundo caso, novos objetos são inseridos na visão para a qual foram copiados. Para isso, a cópia é realizada utilizando como base a estrutura da árvore-NM relativa ao documento para o qual o atributo/objeto está sendo copiado. 6. Cenários de Uso do Reconciliador de Dados Acadêmicos Os resultados obtidos pelo uso do Reconciliador de Dados Acadêmicos são mais qualitativos do que quantitativos. Esta seção descreve cenários nos quais usuários podem usar a ferramenta para resolver problemas comumente confrontados no dia-a-dia. Cenário 1. As publicações de um pesquisador estão espalhadas em fontes de dados públicas. O pesquisador deseja completar o seu Currículo Lattes com suas novas publicações, as quais ainda não foram digitadas em seu currículo, porém já constam nas bases DBLP, ISI Web of Knowledge ou Portal Brasileiro de Informação Científica. Cenário 2. As orientações de um pesquisador estão espalhadas no seu Currículo Lattes (i.e., fonte de dado pública) e nos sistemas corporativos de sua Instituição (i.e., fontes de dados interna). O pesquisador deseja complementar o seu Currículo Lattes com uma nova orientação, a qual já se encontra consolidada nos sistemas corporativos. Cenário 3. Um pesquisador realiza uma publicação em conjunto com seu orientando. O pesquisador deseja copiar esta publicação do Currículo Lattes de seu
295
XXIII Simpósio Brasileiro de Banco de Dados
orientando, de forma que ele não precise digitar novamente os mesmos dados em seu próprio Currículo Lattes. Cenário 4. Diversos pesquisadores desenvolvem um projeto conjuntamente. Estes pesquisadores desejam comparar os dados desse projeto entre os diversos Currículos Lattes, identificando os conflitos e corrigindo-os, além de completar dados não informados em um currículo que já se encontram preenchidos em outro currículo. Cenário 5. Um departamento gera automaticamente um relatório de publicações, a partir dos Currículos Lattes de seus docentes. Note que os docentes podem ter publicações conjuntas, declaradas de forma redundante e, provavelmente, inconsistente em seus currículos. O funcionário responsável por gerar o relatório deseja que o resultado obtido seja consistente. Por exemplo, o funcionário deseja que uma mesma publicação seja listada com valores integrados e contabilizada somente uma única vez, e não várias vezes por motivos de inconsistência dos dados. Cenário 6. Um docente de uma Universidade está sendo avaliado para progressão na carreira, a qual é realizada a cada dois anos. O comitê avaliador deseja comparar os Currículos Lattes do docente para verificar quais as diferenças entre esses currículos nos últimos dois anos. Cenário 7. Um pesquisador está analisando o seu índice H e, para isto, está criando um documento próprio que contém uma lista de todos os artigos que citam os seus artigos. Desde que existem diferentes editoras que disponibilizam as citações para um pesquisador, o pesquisador deseja que a sua lista de artigos seja integrada, de forma que não ocorram citações repetidas e que citações que não estejam presentes em nenhuma editora também possam ser incluídas. O Reconciliador de Dados Acadêmicos oferece funcionalidades que atendem às expectativas dos usuários e os auxilia na resolução dos problemas descritos nos cenários de 1 a 7, além de outros cenários relacionados. Um cenário no qual a ferramenta tem sido constantemente utilizada e validada é no Sistema Urano, na Universidade de São Paulo. Ele coleta dados de atividades acadêmicas dos docentes, integrando-os em um banco de dados relacional centralizado, zelando pela consistência dos dados e facilitando a geração de relatórios. O Urano obtém tanto dados transacionais de fontes internas, que são os sistemas corporativos comumente presentes nas Instituições de Pesquisa, quanto dados disponíveis publicamente em fontes externas, tais como os Currículos Lattes dos docentes. Portanto, os dados são coletados em fontes de dados já disponíveis digitalmente, de maneira que, idealmente, os docentes não precisam prestar nenhuma informação, exceção feita aos dados não disponíveis em fonte alguma. O uso do Reconciliador de Dados Acadêmicos melhora o processo de integração do Sistema Urano, desde que ela facilita a identificação e a resolução de conflitos entre os dados das diferentes fontes. 7. Conclusões Este artigo descreve uma ferramenta para reconciliar as descrições de objetos de cunho acadêmico que fazem parte dos currículos de pesquisadores, auxiliando a corrigir descrições diferentes do mesmo objeto (inconsistências) e a completar dados faltantes (dados incompletos). Os dados que podem ser reconciliados podem ser obtidos de diversas fontes de dados que estão disponíveis na web, incluindo a Plataforma Lattes do
296
XXIII Simpósio Brasileiro de Banco de Dados
CNPq e a DBLP. Com isso, a ferramenta habilita transferir, de um currículo para outro, informações sobre objetos acadêmicos compartilhados entre mais de um pesquisador, ou obter essas informações de outras fontes disponíveis digitalmente, tal como páginas web de editoras e de órgão de financiamento de pesquisas. Atualmente, o Reconciliador de Dados Acadêmicos permite gravar o resultado de uma seção com o usuário, na qual foram efetuadas operações de cópia e edição de atributos, de duas maneiras: registrando o log das operações solicitadas, ou corrigindo os arquivos dos documentos originais. A gravação do log é interessante porque pode ser re-aplicada ao arquivo original, ou a uma versão atualizada do documento. Isso facilita a realização de operações de auditagem com o objetivo de acompanhar as alterações nos dados, mesmo que as fontes originais não sejam alteradas, permitindo o controle da procedência dos dados. Na fase atual do projeto, os dados reconciliados não são re-enviados para as fontes, porque estas não dispõem de mecanismos para tal. No entanto, já foram estabelecidos contatos com o CNPq para que isso possa ser feito através do mecanismo de importação de sub-documentos, previsto na Plataforma Lattes.
Agradecimentos Os autores agradecem o apoio financeiro das seguintes agências de fomento à pesquisa do Brasil: CNPq, FAPESP, CAPES e FINEP.
Referências Bhattacharya, I. and Getoor, L. (2007) “Collective Entity Resolution in Relational Data”, In ACM Transactions on Knowledge Discovery from Data, v. 1, article 5, 36p. Chen, Z., et al. (2007) “Adaptive Graphical Approach to Entity Resolution”, In Proc. ACM IEEE JCDL, p. 204-213. Dong, X., et al. (2005) “Reference Reconciliation in Complex Information Spaces”, In Proc. ACM SIGMOD, p.85-96. Halevy, A. Y., et al. (2006) “Data Integration: The Teenage Years”, In Proc. VLDB, p. 9-16. Kalashnikov, D. and Mehrotra, S. (2006) “Domain-Independent Data Cleaning via Analysis of Entity-Relationship Graph”, In ACM Transactions on Database Systems, v. 31, p. 716-767. Kang, J. and Naughton, J. (2003) “On Schema Matching with Opaque Column Names and Data Values”, In Proc. ACM SIGMOD, p. 205-216. Madhavan, J., et al. (2005) “Corpus-based Schema Matching”. In Proc. ICDE, p. 57–68. McCann, R., et al. (2005) “Mapping Maintenance for Data Integration Systems”. In VLDB, p. 1018-1029. On, B-W., et al. (2006) “Improving Grouped-Entity Resolution Using Quasi-Cliques”, In Proc. IEEE ICDM, p. 18-22.
297
Lihat lebih banyak...
Comentários