O que é Correspondência de Dados?

Gravatar publicou em

Ciência de Dados

Exemplo de match de dados

Correspondência de Dados (Data Matching) é a tarefa de encontrarar, em bancos de dados, registros que se referem à mesma entidade. Normalmente, tais registros são oriundos de diferentes conjuntos de dados e não possuem nenhum identificador comum, mas também há casos em que estas técnicas são aplicadas para detectar registros duplicados em um único banco de dados.

Correspondência de Dados é normalmente refereciada através dos termos em Inglês Data Matching, Record Linkage, Object Identification ou Entity Resolution.

Identificar registros correspondentes em múltiplos bancos de dados é uma tarefa desafiadora por várias razões. Em primeiro lugar, tais registros normalmente não possuem nenhum atributo que deixe óbvio quais se referem às mesmas entidades, sendo necessário, portanto, analisar outros atributos que dão identificações parciais, tais como nomes e datas de nascimento (para pessoas) ou títulos e marcas (para produtos). Por conta disso, este tipo de algoritmo é muito sensível à qualidade dos dados, o que torna necessário executar um pré-processamento das informações com o objetivo de garantir um padrão mínimo de qualidade pelo menos para os atributos principais que poderão ser úteis para reconhecer registros correspondentes.

Outro fator que introduz uma complexidade adicional ao problema é que um mesmo dado pode sofrer alterações ao longo do tempo. Por exemplo, se dois bancos de dados com informações de pessoas estão sendo comparados um com o outro, não é raro encontrar casos em que uma mesma pessoa tenha diferentes endereços (já que as pessoas mudam de casa algumas vezes na vida) ou mesmo nomes diferentes (devido a casamentos ou divórcios).

Em problemas de correspondência de dados geralmente não há disponível uma base de dados de treinamento (conjunto de dados com informações já corretamente classificadas) e, portanto, não é fácil abordá-los com algoritmos de aprendizado supervisionado, tal como seria possível em muitas outras aplicação de aprendizado de máquina.

Os bancos de dados envolvidos neste tipo de cenário podem ser muito grandes e, no pior caso, cada registro de um deve ser comparado com todos os registros do outro. Tarefas com esta podem ter um custo computacional extremamente alto e levar um tempo inviável para conclusão, já que envolvem um algoritmo com complexidade quadrática. Para lidar com esta situação e fazer com que o algoritmo seja escalável, é necessário aplicar aos dados algum tipo de índice que reduza o número de pares de registros a serem comparados. Entretanto, nem sempre é fácil projetar um índice que remove a maioria dos pares não correspondentes e, ao mesmo tempo, não afeta a qualidade do resultado final.

Exemplos de aplicações de Correspondência de Dados

Todos estes fatos, para citar apenas alguns, tornam o processamento deste tipo de informação algo muito desafiador. Hoje em dia, no entanto, diversas áreas reconhecem a importância das ferramentas de correspondência de dados. A lista abaixo contém alguns exemplos relevantes.

  • E-Commerce: este campo cresceu notavelmente nos últimos anos e hoje é comum que sites de comparação de preços precisem relacionar produtos vendidos em múltiplas lojas online. Por exemplo, a loja A pode vender o produto Notebook - X35 8GB RAM 13" LED e a loja B pode referenciar o mesmo produto pelo nome 13" X35 Notebook 8GB RAM 500GB HD.
  • Listas de email marketing: muitas empresas utilizam listas de emails de clientes para anunciar seus produtos ou serviços, as quais comumente contém dados inconsistentes ou mesmo mais de um registro para alguns determinados clientes. Neste caso, técnicas de linkagem de registros podem ser usadas para identificar clientes duplicados e evitar que uma oferta seja enviada mais de uma vez para um mesmo cliente.
  • Computação: através da detecção de trechos duplicados de dados é possível reduzir as necessidades de espaço de armazenamento e de transferência de dados pela rede em muitos sistemas.
  • Saúde: registros médicos de pacientes podem ser usados em estudos relativos aos efeitos de um determinado medicamento. Obviamente, a privacidade dos pacientes é uma preocupação primordial neste cenário e, portanto, algumas vezes é necessário desconsiderar atributos da base de dados que identifiquem explicitamente os pacientes.
  • Detecção de fraudes online: o número de pessoas realizando transações financeiras pela Internet aumenta todos os anos e, como resultado, criminosos estão o tempo todo tentando utilizar dados bancários ou de cartões de crédito de outras pessoas. Identificar estes atos é particularmente difícil já que dados errados surjem propositadamente justamente para dificultar qualquer identificação.
  • Censo: o governo coleta uma grande quantidade de informações sobre a população através de diferentes órgãos governamentais, os quais frequentemente utilizam padrões de dados distintos e armazenam as informações de maneira totalmente descentralizada. Relacionar estas bases de dados permite ao governo produzir relatórios estatísticos diversos e entender melhor muitos aspectos do país.

Este post foi uma rápida visão geral sobre o extenso assunto de Correspondência de Dados, quais os seus maiores desafios e alguns exemplos de áreas de aplicação. Há muitos outros pontos que poderiam ser cobertos e cada problema do mundo real possui suas peculiaridades e complicações, já que dados normalmente vêm de diferentes origens e possuem diferentes formatos, idades, erros e incosistências.





Leia mais sobre: