uma avaliação de abordagens para resolução de entidades em

30
Universidade Federal de Pernambuco Centro de Informática Graduação em Engenharia da Computação Uma Avaliação de Abordagens para Resolução de Entidades em Lista de Coautoria de Artigos Marcus Vinícius Tenório de Mello da Silva Trabalho de Graduação Universidade Federal de Pernambuco 3 de Julho de 2019

Upload: others

Post on 03-Jul-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Uma Avaliação de Abordagens para Resolução de Entidades em

Universidade Federal de PernambucoCentro de Informática

Graduação em Engenharia da Computação

Uma Avaliação de Abordagens paraResolução de Entidades em Lista de

Coautoria de Artigos

Marcus Vinícius Tenório de Mello da Silva

Trabalho de Graduação

Universidade Federal de Pernambuco3 de Julho de 2019

Page 2: Uma Avaliação de Abordagens para Resolução de Entidades em

Universidade Federal de PernambucoCentro de Informática

Marcus Vinícius Tenório de Mello da Silva

Uma Avaliação de Abordagens para Resolução de Entidadesem Lista de Coautoria de Artigos

Trabalho apresentado ao Programa de Graduação em En-genharia da Computação do Centro de Informática da Uni-versidade Federal de Pernambuco como requisito parcialpara obtenção do grau de Bacharel em Engenharia daComputação.

Orientador: Prof. Dr. Luciano de Andrade Barbosa

Universidade Federal de Pernambuco3 de Julho de 2019

Page 3: Uma Avaliação de Abordagens para Resolução de Entidades em

Agradecimentos

Gostaria de agradecer à Deus e a minha família, meus pais e avós, pelo suporte e amorincondicional ao longo de toda minha vida. Ao meu avô pelo suporte durante todas as etapasde minha formação, nunca deixando que faltasse qualquer coisa para permitir o meu progressonesse aspecto. Agradeço também aos meus colegas da Universidade, pelos momentos felizese difíceis ao longo da jornada do curso. Ao professor Luciano Barbosa pela disponibilidadepara me orientar nesse trabalho, assim como pelos conhecimentos transmitidos ao longo docaminho. Agradeço também ao CESAR, pela oportunidade de aprendizado e crescimento pro-fissional. Em especial aos meus colegas dos projetos Motorola SED e ADX.

iii

Page 4: Uma Avaliação de Abordagens para Resolução de Entidades em

Julgue seu sucesso pelas coisas que você teve que renunciar paraconseguir.

—DALAI LAMA

Page 5: Uma Avaliação de Abordagens para Resolução de Entidades em

Resumo

Resolução de Entidades é uma das técnicas de grande importância no gerenciamento degrandes bases de dados, que demanda técnicas de limpeza e integração para melhorar a quali-dade da informação que será utilizada para os mais diversos fins. Esse processo tem um custocomputacional elevado devido a potenciais comparações entre todos os pares de registros quecorrespondem a entidades na base de dados. Essa característica, juntamente com a necessi-dade de considerar ambientes de atualização dinâmica dos dados, leva ao desenvolvimento deabordagens para reduzir a complexidade das soluções de maneira geral. Dentre as técnicas,a indexação é umas das mais efetivas para redução da complexidade por meio da diminuiçãodos pares de registros comparados (técnica conhecida como blocking). Esse trabalho analisaa aplicação de técnicas de Recuperação de Informação para um problema tradicional de Re-solução de Entidades em lista de coautores de publicações na plataforma de currículos Lattes.Os experimentos mostram que é possível resolver o problema se algumas suposições foremconsideradas. De maneira geral, as técnicas de Recuperação de Informação permitem a flexi-bilidade de lidar com dados dinâmicos, mantendo um bom desempenho para tratar problemasmodelados em termos do resultado de consultas nos índices.

Palavras-chave: Resolução de Entidades, Correspondência de referências, Recuperação deInformação, Lista de coautores

v

Page 6: Uma Avaliação de Abordagens para Resolução de Entidades em

Abstract

Entity Resolution is one of the important techniques for large scale database management,which requires cleaning and integration processes to enhance information quality for the mostdifferent purposes. It is computationally expensive due to potential comparisons between allpairs of records that correspond to entities in the ’real world’ sense. This characteristic, alongwith the need to consider dynamic scenarios of changes in data, leads to the development ofdifferent approaches to attenuate the complexity of solutions for Entity Resolution. Indexingis one of the most prominent to this end, by reducing the number of pairs of records to becompared in each step of the solution (this technique is generally called blocking). This workanalyses Information Retrieval techniques for a traditional name resolution problem in coau-torhship lists of publications in the Lattes resume database. The experiments show that it ispossible to consider the solution for entity resolution purposes under some assumptions. In abroad sense, Information Retrieval techniques allow dealing with dynamic changing data sce-narios, keeping good performance on solutions of problems modeled in terms of query resultsin an index structure.

Keywords: Entity Resolution, Reference Matching, Information Retrieval, Coauthorship lists

vi

Page 7: Uma Avaliação de Abordagens para Resolução de Entidades em

Sumário

1 Introdução 11.1 Objetivos e definição do problema 21.2 Estrutura do documento 2

2 Fundamentos Teóricos 32.1 Recuperação de Informação 32.2 Resolução de Entidades 52.3 Recuperação de Informação e Resolução de Entidades 8

3 Metodologia 9

4 Experimentos 114.1 Base de dados 114.2 Elasticsearch 124.3 Experimentos 134.4 Discussão 17

5 Conclusão 19

vii

Page 8: Uma Avaliação de Abordagens para Resolução de Entidades em

Lista de Figuras

1 Exemplo de um índice invertido. Retirado de [1]. 42 Diagrama geral das etapas de uma solução tradicional para interligar registros

de bancos de dados. Traduzido de [2]. 7

3 Etapas de trabalho no desenvolvimento da abordagem proposta. Elaborado peloautor. 9

4 Trecho do arquivo XML contendo o nome e o identificador de um autor queserá indexado. 11

5 Trecho do arquivo XML contendo a informação da área de atuação de um autor. 116 Trecho do arquivo XML contendo o nome e o identificador de um autor numa

lista de coautores. Observa-se que nem sempre o identificador está disponívelpara um autor da lista. 12

7 Consulta com query composta de 3 atributos, nome, abreviação e área de atuação. 138 Consulta com query composta de 2 atributos, nome e abreviação, com filtro por

área de atuação. 139 Distribuição do tamanho das consultas realizadas, em caracteres, para o atributo

nome do autor. 1410 Acurácia média das consultas nos experimentos por intervalo do tamanho da

consulta (em caracteres). 1511 Rank médio do resultado esperado nas consultas dos experimentos por intervalo

do tamanho da consulta (em caracteres). 1612 Tempo médio de processamento das consultas nos experimentos por intervalo

do tamanho da consulta (em caracteres). 1613 Proporção de consultas contendo o resultado relevante retornadas para nomes

completos, por intervalo do tamanho da consulta (em caracteres). 17

viii

Page 9: Uma Avaliação de Abordagens para Resolução de Entidades em

Lista de Tabelas

1 Tabela de atributos e filtro utilizados em cada experimento realizado. 142 Tabela de valores absolutos de consultas contendo o resultado esperado para

cada experimento. 15

ix

Page 10: Uma Avaliação de Abordagens para Resolução de Entidades em

CAPÍTULO 1

Introdução

O gerenciamento de grandes bases de dados demanda técnicas de limpeza e integração, queauxiliam também na qualidade da geração de métricas de interesse e facilitam outras etapasespecíficas para o tratamento e utilização dos dados nos domínios dos quais eles fazem parte.Esses domínios são dos mais diversos tipos, incluindo indústrias, saúde, academia e agênciasgovernamentais, por exemplo [2].

Uma das técnicas de grande importância é denominada Resolução de Entidades, e consistede maneira geral em identificar e associar registros que se referem a uma mesma entidade emuma ou várias bases de dados [3]. Uma das dificuldades é a disponibilidade de identificadoresúnicos comuns para esses registros, de forma que é necessário o uso de informações parciaispara resolver uma referência a uma entidade, informações que identificam com menos precisãoas entidades do problema [3].

Resolução de Entidades é um problema tratado em diferentes áreas e por isso referenci-ado por vários nomes, tais como interligação entre registros (record linkage), referência entreobjetos (object reference), interligação entre referências (reference linkage), deduplicação (de-duplication) e detecção de registros duplicados (duplicate record detection) [2] [4] [5] [6].

Neste trabalho, o problema é tratado do ponto de vista de Resolução de Entidades pararegistros de uma mesma base de dados, e pode ser denominado de correspondência entre re-ferências (reference matching). Essa técnica pode ser aplicada em diferentes áreas, como emgerenciamento de banco de dados relacional, comércio eletrônico, linkagem de registros decensos, detecção de spam, entre outros [6]. No contexto de referências bibliográficas de pu-blicações, por exemplo, essa técnica pode ser aplicada para resolução de nomes em listas decoautores. Isso atua como uma etapa importante de processos como a análise das relaçõesde coautoria através de publicações [7], assim como permite melhor precisão e qualidade emmétricas obtidas a partir da base de dados.

Resolução de Entidades é um processo computacionalmente dispendioso, no qual ideal-mente pode ocorrer uma comparação de cada registro a ser resolvido com todos os possíveisregistros que representam as entidades no conjunto de dados [3]. Com o aumento do tamanhoda base, a complexidade quadrática desse processo dificulta a escalabilidade das soluções. Em[5], diferentes técnicas para tratamento desse problema são elencadas (como blocking, sortedneighborhood, clustering e canopies). Uma técnica bastante conhecida é denominada blocking,cuja ideia é a aplicação de diferentes filtros de forma a reduzir o número de registros compa-rados ao resolver uma determinada referência a uma entidade. Dentre os tipos de estratégiasde blocking, o índice invertido é uma das estruturas utilizadas para reduzir a complexidade dassoluções de maneira geral [3]. Seu uso está diretamente associado também a mecanismos depesquisa comuns da área de Recuperação de Informação, que requerem um processo de pontu-

1

Page 11: Uma Avaliação de Abordagens para Resolução de Entidades em

1.1 OBJETIVOS E DEFINIÇÃO DO PROBLEMA 2

ação e ranqueamento de resultados para retornar resultados mais relevantes para uma consultade forma otimizada.

1.1 Objetivos e definição do problema

Com base nas ideias anteriores, o objetivo do trabalho é propor uma abordagem para ummétodo de resolução de entidades no contexto da base de dados curriculares da PlataformaLattes, utilizando técnicas de Recuperação de Informação, particularmente a busca indexada,e avaliar esse método a partir de métricas de qualidade do ranqueamento e relevância dosresultados retornados para uma consulta.

Isso significa resolver uma referência a um autor em uma lista a partir de uma base de dadoscontendo as entidades do tipo autor. Um autor pode ser referenciado pelo seu nome completo oupor uma variação de abreviações. Desse modo, a dificuldade está não somente no tratamento davariação que pode ocorrer para o nome que referencia um mesmo autor, como no caso de duasreferências idênticas correspondendo a autores diferentes. Por isso, são necessários métodosadicionais a uma simples comparação de nomes. Uma possibilidade, por exemplo, é utilizarinformações adicionais de contexto que possam discriminar com maior precisão tais casos deambiguidade.

Neste trabalho, técnicas de Recuperação de Informação são investigadas para o tratamentodo problema pelas seguintes características: performance adequada para recuperar registrosem bases de dados de grande dimensão; métodos flexíveis de utilização de informações pararecomendar resultados ordenados por relevância; possibilidade de tratar dados incluídos dina-micamente sem grandes custos adicionais.

1.2 Estrutura do documento

O restante do trabalho está dividido em 4 seções. A seção 2 fornece conceitos gerais dasduas principais áreas consideradas na definição do problema e na abordagem proposta, quesão Resolução de Entidades e Recuperação de Informação. A seção 3 detalha a metodologiautilizada, caracterizando as etapas realizadas para o tratamento proposto para o problema. Aseção 4 explica e discute os experimentos realizados e resultados obtidos, juntamente com acaracterização do conjunto de dados utilizado. O trabalho é concluído na seção 5, resumindoos resultados obtidos de maneira geral.

Page 12: Uma Avaliação de Abordagens para Resolução de Entidades em

CAPÍTULO 2

Fundamentos Teóricos

2.1 Recuperação de Informação

Esta seção detalha alguns conceitos da área de Recuperação de Informação, que dadas ascaracterísticas do modelo de acesso aos dados de uma estrutura como a Web tem ganhadobastante relevância. Como citado anteriormente, uma das técnicas de redução de complexi-dade no problema de Resolução de Entidades é a blocagem, que pode ser implementada utili-zando estruturas como índices invertidos. Essa estrutura será caracterizada com mais detalhes,juntamente com o conceito de busca, ranqueamento e avaliação dos resultados em termos derelevância.

Recuperação de Informação pode ser entendida como uma busca por documentos de natu-reza não estruturada a partir de uma coleção de dados extensa, que satisfaça alguma necessidadeem um determinado contexto [1]. A definição de documento é bastante ampla, mas geralmentese refere a uma informação caracterizada de forma textual [8]. Sistemas de recuperação deinformação operam em diferentes escalas, dentre as quais se destacam a busca na Web e arecuperação de informação a nível pessoal (numa ferramenta de busca de informações de umsistema operacional de dispositivos móveis, por exemplo). Também podem ser aplicados emdomínios mais específicos [1].

Em [1], o tema Recuperação de Informação é introduzido através de um exemplo de re-solução tradicional para o problema de encontrar documentos contendo ou não determinadaspalavras. Iterar sobre os documentos buscando os termos pesquisados pode ser efetivo em al-guns casos, mas apresenta problemas de desempenho e escalabilidade para grandes bases dedados. Por isso, a ideia de indexar os documentos a priori é apresentada. Inicialmente, umamatriz de incidência termo-documento é usada para indicar quais termos de um vocabulário(conjunto de palavras contidas em todos os documentos) estão contidos em cada documento.Ela funciona para permitir consultas em um modelo mais simples de recuperação booleana[7].

Outros aspectos também são definidos, como a tarefa básica de recuperação ad hoc, quepretende obter os documentos de uma coleção que satisfaçam uma necessidade de informação,comunicada através de uma consulta [1]. A relevância da consulta é definida em termos dapercepção de valor com respeito à necessidade de informação de cada contexto.

Em termos práticos, a grande diferença no tratamento do problema de pesquisa de termosem documentos acontece com a definição do índice invertido. Essa estrutura incorpora a ideiada matriz de incidência de uma forma mais eficiente em termos de armazenamento, preservandoa ideia de manter a informação da ocorrência de termos em documentos. Um exemplo de índiceinvertido é mostrado na Figura 1.

3

Page 13: Uma Avaliação de Abordagens para Resolução de Entidades em

2.1 RECUPERAÇÃO DE INFORMAÇÃO 4

Figura 1 Exemplo de um índice invertido. Retirado de [1].

As etapas tradicionais de construção de um índice são as seguintes:

• Coletar os documentos;

• Transformar o texto do documento em uma lista de tokens (considerados geralmentecomo palavras presentes no documento);

• Realizar um pré-processamento nos tokens, aplicando filtros, por exemplo;

• Indexar documentos em que cada termo ocorre, criando um dicionário de tokens, comuma lista (denominada posting) com os identificadores dos documentos que os contém.

O índice também pode conter estatísticas como a frequência do documento, que é o númerode documentos que cada token contém. Essa estrutura é uma das mais eficientes para permitirconsulta por texto ad hoc [1].

O conceito de busca com relevância é introduzido para permitir extensão da capacidade dosmodelos de atender a diferentes demandas de informação, incorporando valores de frequênciados termos ao peso atribuído a um documento, e permitindo o ranqueamento dos resultadosretornados para cada consulta [1].

O mecanismo para quantificar o quão bem um documento corresponde a uma consulta ébaseado numa representação dos documentos num modelo de espaço de vetores e tambémem algoritmos de ranqueamento, que utilizam informações da frequência dos termos presen-tes na consulta nos documentos. A ideia geral é que um termo com maior incidência em umdocumento indica que ele tem mais relevância e deveria obter uma pontuação maior. Os mode-los calculam um valor baseado na soma das pontuações obtidas pela correspondência de cadatermo da consulta com cada documento. A abordagem mais simples agrega pesos baseados nafrequência de um termo em um documento e é denominada t ft,d (term frequency) [1]. Essaabordagem considera basicamente o número de ocorrências de cada termo em cada documento

Page 14: Uma Avaliação de Abordagens para Resolução de Entidades em

2.2 RESOLUÇÃO DE ENTIDADES 5

para definir a relevância. Isso gera problemas pois alguns termos não têm poder de discrimina-ção para determinar relevância. Por isso, foi criado um método para atenuar o efeito desse tipode termo (que ocorre com alta frequência nos documentos) no peso obtido. A ideia utiliza umvalor de frequência do documento d ft definido como o número de documentos que contêm otermo t. Esse valor afeta a pontuação do termo através de um outro valor, a frequência inversado documento id f (inverse document frequency), calculada para cada termo como:

id ft = log(N/d ft) , onde N é o número de documentos na coleção

Desse modo, o id f de um termo raro é alto, e ele tem maior poder de discriminar umdocumento relevante para uma consulta. Esses valores são usados em um modelo tradicionalde pontuação para documentos a partir de uma consulta, denominado Tf-idf [1]. Esse modeloatribui a um termo t em um documento d um peso dado por:

tf-idft,d = t ft,d× id ft

As características do valor obtido por essa expressão são as seguintes:

• Elevado quando t ocorre muitas vezes num número pequeno de documentos (aumentandoo efeito discriminante desses documentos;

• Baixo quando o termo ocorre poucas vezes no documento, ou ocorre em muitos docu-mentos (contribuindo menos para a relevância);

• Mínimo quando o termo ocorre em praticamente todos os documentos;

De forma simplificada, a pontuação de um documento d é a soma, sobre os termos daconsulta, do tf-idf de cada termo sobre o documento:

Score(q,d) = ∑t∈q

tf-idft,d

Onde q é a consulta formada pelos termos ti.

2.2 Resolução de Entidades

Resolução de Entidades é uma denominação para o processo de distinção de representaçõesque se referem a uma mesma entidade de um determinado contexto. Ele pode ser realizado parauma única ou para várias fontes de dados [6]. É parte das tarefas associadas ao gerenciamentode dados, e tem grande importância mais especificamente no tratamento do problema da quali-dade de dados.

Esse problema acontece de maneira geral por conta da falta de controle sobre alguns aspec-tos das informações disponíveis, por vezes obtidas de fontes diversas, e também pela falta de

Page 15: Uma Avaliação de Abordagens para Resolução de Entidades em

2.2 RESOLUÇÃO DE ENTIDADES 6

padronização nos identificadores dos registros, que correspondem a ’entidades’ de um deter-minado contexto. Segundo [5], a qualidade de dados é afetada por erros na aquisição de dados(erros de digitação, por exemplo), falta de restrições de integridade nos valores e múltiplasconvenções para representar determinadas informações. Além disso, considerando diferentesfontes de informação a estrutura e semântica dos dados também pode sofrer variações.

Nesse sentido, Resolução de Entidades trata essas inconsistências, permitindo que a infor-mação seja integrada e combinada para melhoria da qualidade e integridade dos dados [2]. Doponto de vista do resultado do processo, [6] fornece duas definições:

Resolução de Entidades por pares (pairwise): Dado um conjunto de objetos S, o resultado éum conjunto de pares

S = {oi,o j |oi,o j ∈ S e representam a mesma entidade}

Resolução de Entidades por agrupamento (groupwise): Dado um conjunto de objetos S, oresultado é um conjunto de pares

S = {Si | Todos os objetos em Si representam a mesma entidade} e i 6= j,Si∩S j =∅

Considerando os objetivos desse trabalho, a definição tomada por base no resultado do pro-cesso será a primeira delas, Resolução de Entidades por pares. Uma outra visão para classificarResolução de Entidades envolve o modelo e o ambiente de dados [6].

Diferentes nomes são utilizados para se referir ao problema de Resolução de Entidades [5][6], dentre os quais reference matching (traduzido aqui como correspondência de referências),que mais se assemelha ao contexto desse trabalho que trata da resolução de nomes em registrosde uma mesma base de dados.

Em termos gerais, o tratamento clássico para o problema é baseado na comparação de re-gistros usando combinações de informações que identificam parcialmente uma entidade, comonome, endereços e datas de nascimento [3]. No processo, métricas de similaridade são cal-culadas para cada um dos atributos de interesse nos registros, e seus resultados são utilizadosnuma posterior etapa de classificação. Um compilado de métricas adequadas a diferentes tiposde dados é apresentado em [5], no contexto de deduplicação de registros de diferentes bases dedados, considerando um único ou múltiplos atributos em cada par de registros. São mostradasmétricas baseadas em caracteres (como a distância de edição), baseadas em tokens e tambémmétricas que consideram similaridade fonética no valor dos atributos dos registros.

Além do aspecto de comparação de atributos por meio de métricas de similaridade paravalores textuais, por exemplo, um outro detalhe é quanto à complexidade das soluções, queé quadrática no número de registros devido a uma potencial avaliação de todos os pares deregistros da base [3]. A etapa de comparação de pares de registros é a principal responsávelpelo custo das técnicas em geral [2]. Isso dificulta a escalabilidade desse tipo de solução parabases de dados muito grandes, cada vez mais comuns em diversas áreas.

Por essas razões, técnicas foram desenvolvidas visando simplificar e reduzir o número depares computados na etapa de resolução de entidade dos registros. A técnica básica é denomi-nada blocagem (blocking) e consiste em dividir o conjunto de dados em blocos não sobrepostos,

Page 16: Uma Avaliação de Abordagens para Resolução de Entidades em

2.2 RESOLUÇÃO DE ENTIDADES 7

Figura 2 Diagrama geral das etapas de uma solução tradicional para interligar registros de bancos dedados. Traduzido de [2].

tal que apenas registros de um mesmo bloco sejam comparados numa das etapas do processo[3]. Em [2], esse processo é ilustrado no contexto da linkagem de registros de diferentes ban-cos de dados. O diagrama presente no trabalho destaca fases gerais de uma solução para oproblema, o que é útil para entender abordagens clássicas para Resolução de Entidades. Ele émostrado na Figura 2.

São quatro etapas importantes ilustradas no diagrama: limpeza e pré-processamento dosdados, uma etapa de blocagem (mostrada como indexação), comparação de pares de registrose classificação a partir de um vetor de valores de similaridade de atributos.

Nesse caso, a estratégia de blocagem foi implementada através de uma estrutura denomi-nada índice, que será detalhada na seção de fundamentos de Recuperação de Informação, umaárea cujos conceitos podem ser relacionados e contribuir para soluções do problema de Reso-lução de Entidades.

A estrutura de índice, particularmente o índice invertido, provê bom nível de performanceem termos de redução da complexidade e desempenho das soluções [2]. Essa característicaé explorada por alguns trabalhos da área [3] [4] [9]. Outra questão de interesse tratada é aatualização dinâmica das bases de dados, já que as soluções clássicas são executadas de formaestática sobre todo o conjunto de dados, o que torna inviável sua aplicação nesse contexto. Umatécnica proposta para resolver essa questão é apresentada em [4].

Todas essas ideias foram consideradas para propor e avaliar um método base utilizado pararesolver o problema de resolução de referências em lista de coautores na base de currículos da

Page 17: Uma Avaliação de Abordagens para Resolução de Entidades em

2.3 RECUPERAÇÃO DE INFORMAÇÃO E RESOLUÇÃO DE ENTIDADES 8

Plataforma Lattes.

2.3 Recuperação de Informação e Resolução de Entidades

As ideias de busca por textos em documentos, assim como a atribuição de pesos e ranquea-mento para retornar resultados relevantes para uma consulta são utilizadas neste trabalho comobase para definir uma solução para o problema de resolução de referências a coautores em listasde artigos na base de dados da plataforma de currículos Lattes.

O problema é entendido do ponto de vista da pesquisa por textos em documentos consti-tuídos pelo nome e possivelmente outros atributos que caracterizam uma entidade autor. Ummecanismo que retorne resultados relevantes com base em consultas a esses atributos torna-seinteressante tanto para sugerir entidades similares quanto para resolver uma referência a umaentidade, dado que o resultado mais relevante seja a resolução correta dessa entidade. Esseúltimo caso é o tema de investigação deste trabalho.

A avaliação da abordagem é baseada na relevância dos resultados retornados para consultasa um autor. Entretanto, pela característica do problema tratado neste trabalho, a métrica deinteresse é a acurácia dos resultados, que contabiliza os casos em que o autor correto é retornadoentre os autores mais relevantes. Outra métrica de interesse considera a posição do autor corretoesperado entre os mais relevantes retornados para a consulta.

Page 18: Uma Avaliação de Abordagens para Resolução de Entidades em

CAPÍTULO 3

Metodologia

A metodologia utilizada para tratar o problema de resolução de entidades será detalhadanesta seção, juntamente com uma visão geral da base de dados, operações realizadas paraextrair informações de interesse de autores e publicações, e filtragens aplicadas. Uma visãogeral do processo considerado no trabalho é mostrada na Figura 3.

Figura 3 Etapas de trabalho no desenvolvimento da abordagem proposta. Elaborado pelo autor.

Como explicado anteriormente, o trabalho utiliza técnicas de Recuperação de Informaçãopara propor e avaliar uma abordagem para a Resolução de Entidades em listas de coautoriade artigos da base de dados curriculares da Plataforma Lattes. Esse conjunto de dados foidisponibilizado por meio de arquivos no formato XML, cada um contendo informações geraissobre o autor, como nome completo, ID do CNPQ e área de atuação. Também contém umalista de publicações do autor, cujas informações são utilizadas para extrair as referências acoautores.

9

Page 19: Uma Avaliação de Abordagens para Resolução de Entidades em

CAPÍTULO 3 METODOLOGIA 10

No processo de extração, os dados foram considerados como estruturados, no sentido deseguirem uma especificação XML do formato Lattes. Esse processo está representado e divi-dido na Figura 3 com base na utilização de cada tipo de informação extraída. O primeiro blocode extração trata das informações que serão utilizadas para indexação. Basicamente, foramconsiderados o nome completo do autor, seu id do CNPQ e sua área de atuação. Em uma dasversões do experimento, um atributo adicional gerado a partir do nome completo é utilizadopara indexação. O segundo bloco de extração no diagrama considera as informações da lista decoautores, extraídas a partir das publicações de um determinado autor ao qual cada currículo serefere. Para os casos em que a referência a um coautor dessa lista inclui um id do CNPQ, elafoi utilizada para definir um groundtruth [10] a partir do qual a solução foi avaliada.

O bloco ‘filtros’ representa o tratamento anteriormente citado para considerar um conjuntoapenas de referências a coautores que contenham um id. Além disso, uma outra restriçãoaplicada foi incluir somente referências cujos identificadores tenham sido indexados. Essa su-posição é importante na etapa de avaliação. Por último, foram filtradas referências duplicadas.O conjunto resultante dessa filtragem define o que é mostrado no diagrama como groundtruth.Ele é formado basicamente por tuplas contendo uma referência a um autor e um identificador.

O bloco ‘índice’ representa a etapa de construção da estrutura sobre a qual consultas sãorealizadas. Essa estrutura utiliza os atributos nome completo do autor, identificador do CNPQ,área de atuação e para algumas das versões do experimento um atributo ‘nome abreviado’derivado do nome completo do autor. Como este trabalho utiliza uma ferramenta separada paraconstrução do índice, ela é caracterizada de maneira geral na seção de experimentos.

O bloco ‘consulta’ representa a etapa de definição da consulta que será realizada para recu-perar os registros relevantes para resolver uma referência a um autor. É a principal responsávelpelas variações da solução analisadas nas rodadas dos experimentos, e consequentemente peladiferença de qualidade nos resultados observados. Ela explora dois aspectos os quais se pre-tende avaliar para resolução do problema: quantidade de atributos considerada e combinaçãode atributos utilizados no ranqueamento dos resultados. A informação utilizada na consulta éproveniente do groundtruth (que contém a referência a um autor) e em alguns casos, utilizou-se também uma área de atuação inferida a partir do currículo do qual a lista de coautores foiextraída. Isto é baseado na suposição de que autores de áreas correlatas têm maior chance decontribuir em um mesmo artigo. É uma abordagem para considerar informações contextuaisalém da referência simples ao nome do autor no momento da consulta. Assim como no casodo índice, essa etapa foi realizada por meio de uma ferramenta existente, e a especificação daconsulta segue o modelo dessa ferramenta, descrito brevemente na seção 4.2.

O último bloco do diagrama se refere à etapa de avaliação da solução. Ela é realizadaa partir do groundtruth e pretende quantificar o desempenho/qualidade da solução com res-peito à relevância do resultado retornado para a consulta. Isto é feito checando a presença doidentificador esperado para uma referência dentre os resultados retornados para uma consulta.Também é de interesse observar o quão bem posicionado está o resultado esperado. Para finsde utilização de uma solução desse tipo puramente para Resolução de Entidades, é preciso queo resultado esperado seja o mais relevante dentre os listados.

Page 20: Uma Avaliação de Abordagens para Resolução de Entidades em

CAPÍTULO 4

Experimentos

4.1 Base de dados

A base de dados utilizada consiste de 23500 currículos da Plataforma Lattes, em formatoXML. Eles foram usados para extrair a informação a ser indexada para um autor (nome, identi-ficador do CNPQ e área de atuação), assim como a lista contendo os coautores das publicaçõesdisponíveis em cada currículo. A partir dessa lista é definido um groundtruth, que consistedo nome e do id do autor (quando esse id estiver disponível). Casos em que o id do autor nalista de coautores não está indexado foram filtrados. Isso está de acordo com a suposição deresolver as referências apenas numa mesma base de dados, no caso a estrutura de índice comos autores. Para as áreas de atuação, se nenhum valor estiver disponível é utilizado um textopadrão para facilitar a consulta. As figuras 4, 5 e 6 ilustram as informações disponíveis emvalores de tags nos arquivos que foram considerados no trabalho. Esses valores foram obtidosutilizando funções de uma biblioteca da linguagem Python para extrair dados XML, assumindoque eles estão adequados ao formato do Lattes para especificar tags e atributos. Isso significaque arquivos em que a especificação está fora do padrão não foram considerados para criar ogroundtruth.

Figura 4 Trecho do arquivo XML contendo o nome e o identificador de um autor que será indexado.

Figura 5 Trecho do arquivo XML contendo a informação da área de atuação de um autor.

11

Page 21: Uma Avaliação de Abordagens para Resolução de Entidades em

4.2 ELASTICSEARCH 12

Figura 6 Trecho do arquivo XML contendo o nome e o identificador de um autor numa lista de coau-tores. Observa-se que nem sempre o identificador está disponível para um autor da lista.

4.2 Elasticsearch

Como comentado na seção anterior, neste trabalho foi utilizada uma ferramenta para asetapas de indexação e consulta dos dados. O Elasticsearch é um servidor de buscas distribuídode código aberto liberado sobre os termos da licença Apache [11]. Ele permite armazenar,indexar e consultar documentos com respostas na ordem de 1 segundo. Alguns aspectos deconfiguração dessa ferramenta são discutidos nesta seção.

O índice é entendido como uma coleção de documentos, constituídos por coleções de cam-pos, como nome e área de atuação, por exemplo. O Elasticsearch permite explicitar o mapea-mento de cada campo, pois cada campo é armazenado numa estrutura diferente otimizada parao tipo mapeado. Para o propósito deste trabalho, os campos foram mapeados como texto, e sãoarmazenados em estruturas do tipo índice invertido.

Outro aspecto importante a se considerar é o processo de análise que ocorre no momentoda indexação dos dados e no processamento da consulta. Ele transforma o texto em tokens, e éutilizado para adequar e flexibilizar consultas genéricas em textos. Dependendo do analisador,podem ocorrer filtragens de tokens, e isso não é esperado para o método proposto no trabalho.Por isso, o analisador utilizado é o padrão, que gera tokens com base no algoritmo de segmen-tação de texto Unicode [12]. Basicamente seu efeito é separar os tokens removendo pontuaçãoe mudando as letras para minúsculas.

O Elasticsearch fornece uma linguagem específica de domínio (do inglês Domain SpecificLanguage) para definir as consultas. Essa linguagem aceita cláusulas para pesquisar um valorparticular de um campo (ex. cláusula match) , assim como combinar outras cláusulas de umamaneira lógica (ex. cláusula bool). As cláusulas operam no contexto de consulta ou de filtro.No primeiro caso, é atribuída uma pontuação que indica o quão bem um documento respondeà consulta. No segundo caso, apenas uma filtragem é realizada sobre os documentos que nãosatisfazem a consulta, sem atribuição de valor para a pontuação do documento. Os dois modelosprincipais de consulta utilizados no trabalho são mostrados nas figuras 7 e 8.

Page 22: Uma Avaliação de Abordagens para Resolução de Entidades em

4.3 EXPERIMENTOS 13

Figura 7 Consulta com query composta de 3 atributos, nome, abreviação e área de atuação.

Figura 8 Consulta com query composta de 2 atributos, nome e abreviação, com filtro por área de atua-ção.

Em ambos os casos a consulta é do tipo match, que é booleana e permite por padrão oretorno de documentos contendo ao menos um dos termos consultados para cada campo. Naconsulta 2, utiliza-se o atributo área de atuação para filtrar os resultados que não contenham ovalor informado. E o resultado é combinado com a cláusula should para incluir os documentosque são da área ciências e que contêm o nome completo ou a abreviação com valor ’J FreirePascoal’.

O último aspecto a se observar na configuração do Elasticsearch para este trabalho é oalgoritmo de similaridade usado para ranquear os documentos numa consulta. Versões maisrecentes da ferramenta utilizam o algoritmo BM25 [1]. No caso deste trabalho, que utilizoua versão 6.5, os índices foram configurados para usar o algoritmo de similaridade clássico,baseado no Tf-idf.

4.3 Experimentos

Os experimentos realizados para teste da abordagem variam de acordo com dois aspectos,a quantidade de atributos considerada na consulta e o tipo de consulta (utilizando os dois con-textos de consulta e de filtro que o Elasticsearch permite). A Tabela 1 sintetiza esses detalhesde cada rodada do experimento.

Page 23: Uma Avaliação de Abordagens para Resolução de Entidades em

4.3 EXPERIMENTOS 14

Experimento nome abreviação área de atuação filtro (por área)1 X 0 0 02 X X 0 03 X 0 X 04 X 0 0 X5 X X X 06 X X 0 X

Tabela 1 Tabela de atributos e filtro utilizados em cada experimento realizado.

Basicamente, as consultas combinam atributos incluindo todos eles no contexto de consulta,caso em que a pontuação vai considerar a relevância em termos de todos eles, ou utilizamalguns atributos filtrando os resultados por área de atuação, caso em que este atributo não seráconsiderado na pontuação e ranqueamento dos resultados. Um valor padrão foi utilizado paraa área de atuação nos casos em que o Lattes do autor não fornecia essa informação.

A avaliação dos experimentos ocorre em termos da relevância dos resultados retornadospara as consultas. O groundtruth fornece a referência a um autor (usada para busca) e o idassociado. Para quantificar a relevância, a acurácia e o rank são obtidos para cada consultarealizada. A acurácia é calculada como um valor binário observando-se se o id esperado estácontido entre os 10 resultados mais relevantes (essa métrica é conhecida como accuracy at k).O rank é a posição do resultado esperado que for retornado entre os relevantes. Esse valor éinicializado como (20) e assim permanece caso o resultado esperado não seja retornado entreos relevantes.

Figura 9 Distribuição do tamanho das consultas realizadas, em caracteres, para o atributo nome doautor.

Page 24: Uma Avaliação de Abordagens para Resolução de Entidades em

4.3 EXPERIMENTOS 15

Total: 6617 consultas exp. 1 exp. 2 exp. 3 exp. 4 exp. 5 exp. 6consultas relevantes 6461 6482 6357 6114 6421 6125nome completo 6067 6067 6004 5876 6025 5876

Tabela 2 Tabela de valores absolutos de consultas contendo o resultado esperado para cada experi-mento.

A distribuição dos dados pelo tamanho da consulta é mostrada na Figura 9. Para observarmelhor os resultados, as métricas foram calculadas agrupadas por intervalos de acordo com otamanho da consulta (em caracteres, considerando o atributo ’nome do autor’). Os gráficospara cada métrica são mostrados nas Figuras 10, 11 e 12, que agregam os resultados dos 6experimentos realizados. Outra métrica calculada por intervalo é a porcentagem de resultadosrelevantes (contendo o resultado esperado entre os 10) retornados para consultas por nomecompleto de um autor, ilustrado na Figura 13. Os dados absolutos de cada experimento para asconsultas gerais e por nome completo com resultados relevantes são mostrados na Tabela 2.

Figura 10 Acurácia média das consultas nos experimentos por intervalo do tamanho da consulta (emcaracteres).

Page 25: Uma Avaliação de Abordagens para Resolução de Entidades em

4.3 EXPERIMENTOS 16

Figura 11 Rank médio do resultado esperado nas consultas dos experimentos por intervalo do tamanhoda consulta (em caracteres).

Figura 12 Tempo médio de processamento das consultas nos experimentos por intervalo do tamanhoda consulta (em caracteres).

Page 26: Uma Avaliação de Abordagens para Resolução de Entidades em

4.4 DISCUSSÃO 17

Figura 13 Proporção de consultas contendo o resultado relevante retornadas para nomes completos, porintervalo do tamanho da consulta (em caracteres).

4.4 Discussão

Um aspecto observado para a maioria dos experimentos foi o aumento no tempo de pro-cessamento da consulta com o aumento do tamanho da consulta. Isso pode ser entendido pelomaior número de operações na etapa de análise, por exemplo. Apenas os experimentos 4 e 5apresentam um tempo médio de processamento menor para o intervalo 2 do que para o intervalo1.

Outro aumento que ocorre com o aumento do tamanho da consulta é no número de re-sultados relevantes retornados para uma consulta a nomes completos. Naturalmente um nomecompleto é especificado com mais caracteres. O que poderia ocorrer numa base de dados muitogrande seria várias entidades com mesmo nome serem retornadas e não incluírem o resultadoesperado, caso em que não necessariamente um aumento no tamanho da consulta aumentariaa proporção de resultados relevantes para um nome completo. Isso seria observado principal-mente numa abordagem básica de consulta baseada unicamente no atributo nome. Entretanto,não é o caso para o conjunto de dados utilizados neste trabalho, em cuja execução da abordagembásica (experimento 1) obteve de maneira geral um dos melhores resultados dos experimentosavaliados.

A dificuldade observada ocorre em termos da acurácia para consultas menores, que cons-tituem em grande parte os casos de referências abreviadas ao nome de uma entidade. Issoocorre para todos os experimentos avaliados. Uma tentativa de melhoria proposta para trataressa questão foi incluir um atributo derivado do nome completo do autor no momento da in-dexação, representando uma abreviação através de uma regra simples de geração pelas iniciaisdo nome, mantendo inteiro o último nome. Essa informação foi efetiva para melhoria da acu-rácia no experimento 2, observada especificamente no intervalo 1, comparada ao experimento1. Vale destacar também, em contrapartida, o aumento no tempo de processamento médio dasconsultas para todos os intervalos nesse experimento.

Page 27: Uma Avaliação de Abordagens para Resolução de Entidades em

4.4 DISCUSSÃO 18

Um outro aspecto que se desejou avaliar na abordagem foi a inclusão de informações adi-cionais de contexto para resolver as referências a entidades. Nesse caso, a ideia foi inferir umatributo área de atuação pelo valor disponibilizado no Lattes do autor do qual a referência foiextraída. Essa informação foi utilizada juntamente com o atributo nome nos experimentos 3 e4 avaliados (que não consideram o atributo abreviação). O resultado no primeiro caso teve umaleve piora, se comparado ao experimento 1, notada na acurácia para os intervalos 1 e 2. O efeitode utilizar esse atributo adicional como filtro (no experimento 4) piorou consideravelmente aacurácia em todos os intervalos, além de aumentar o tempo médio de processamento da con-sulta. Uma possibilidade é uma área ser inferida para um autor que foi indexado com um valornulo desse atributo (já que o Lattes do autor nem sempre contém esse valor). Nesse caso, esseautor esperado não será incluído entre os resultados relevantes e a acurácia será comprometida.

O experimento 5 se mostra o mais equilibrado em termos da utilização dos atributos adi-cionais propostos. Também é o experimento com menor tempo médio de processamento deconsulta dentre os demais, embora utilize mais atributos na consulta.

Page 28: Uma Avaliação de Abordagens para Resolução de Entidades em

CAPÍTULO 5

Conclusão

Neste trabalho foi proposta e avaliada uma abordagem para Resolução de Entidades emlista de coautoria de artigos utilizando técnicas de Recuperação de Informação, com uso daferramenta Elasticsearch. A abordagem se mostra compatível com a resolução do problemaem certo nível para o conjunto de dados considerado. Isso implica utilizar a saída do resultadomais relevante retornado para as consultas como a entidade correta esperada para resolver areferência. Nos casos em que os resultados ainda sejam ambíguos, etapas adicionais podem seraplicadas para resolver as referências, como em abordagens mais atuais [4].

O uso de informações adicionais para aprimorar o resultado das consultas é possível, masdeve ser estudado e estruturado de forma elaborada, explorando relações diretas ou derivadasentre as entidades do problema, por exemplo. Pelas simplificações assumidas no trabalho,associadas a algumas características do conjunto de dados, uma das informações adicionaisconsideradas promoveu redução da acurácia em um dos casos testados.

As técnicas de Recuperação de Informação se mostram interessantes para tratar o problemade Resolução de Entidades, possibilitando inclusive tratar casos de atualização dinâmica dobanco de dados de forma eficiente. A ferramenta Elasticsearch facilita o tratamento de questõesmais complexas de construção e gerenciamento de índices, assim como o aspecto de escalabi-lidade das soluções, o que a torna uma opção a se considerar no tratamento de problemas dotipo, principalmente nos casos de grandes bases de dados.

19

Page 29: Uma Avaliação de Abordagens para Resolução de Entidades em

Referências Bibliográficas

[1] Christopher Manning, Prabhakar Raghavan, and Hinrich Schütze. Introduction to infor-mation retrieval. Natural Language Engineering, 16(1):100–103, 2010.

[2] Peter Christen. A survey of indexing techniques for scalable record linkage and dedupli-cation. IEEE transactions on knowledge and data engineering, 24(9):1537–1555, 2011.

[3] Peter Christen, Ross Gayler, and David Hawking. Similarity-aware indexing for real-time entity resolution. In Proceedings of the 18th ACM conference on Information andknowledge management, pages 1565–1568. ACM, 2009.

[4] Priscilla Kelly Machado Vieira AZEVÊDO. Um processo incremental e orientado à con-sulta para resolução de entidades em sistemas de integração de dados. 2017.

[5] Ahmed K Elmagarmid, Panagiotis G Ipeirotis, and Vassilios S Verykios. Duplicate recorddetection: A survey. IEEE Transactions on knowledge and data engineering, 19(1):1–16,2006.

[6] Hongzhi Wang. Innovative Techniques and Applications of Entity Resolution. IGI Global,2014.

[7] Luciano Antonio Digiampietri, Jesús Pascual Mena-Chalco, Gabriela S Silva, Leonardo BOliveira, Ana Paula Malheiros, and Dania Meira. Dinâmica das relações de coautoria nosprogramas de pós-graduação em computação no brasil. Anais, 2012.

[8] Jiawei Han, Jian Pei, and Micheline Kamber. Data mining: concepts and techniques.Elsevier, 2011.

[9] Csaba István Sidló. Entity resolution with heavy indexing. In ADBIS (2), pages 137–146,2011.

[10] David Menestrina, Steven Euijong Whang, and Hector Garcia-Molina. Evaluating entityresolution results. Proceedings of the VLDB Endowment, 3(1-2):208–219, 2010.

[11] Elasticsearch reference. https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html. (Acessado em24/06/2019).

[12] Unicode text segmentation. http://unicode.org/reports/tr29/. (Acessadoem 24/06/2019).

20

Page 30: Uma Avaliação de Abordagens para Resolução de Entidades em

Este volume foi tipografado em LATEX na classe UFPEThesis (www.cin.ufpe.br/~paguso/ufpethesis).