Como calcular a "similaridade" de números nos passaportes. E encontre o mesmo, mesmo com erros de digitação



Os produtos HFLabs estão procurando clientes duplicados nos bancos de dados de empresas federais. A maneira mais óbvia de encontrar os mesmos cartões de cliente é comparar passaportes ou outros documentos de identificação.

Anteriormente, comparamos o número de documentos estritamente: o mesmo - excelente, não - desculpe. Para análise manual, devido a um erro de digitação na sala, até os cartões que tinham o mesmo nome e endereço foram deixados. Essa abordagem sobrecarregou desnecessariamente a equipe do cliente.

Portanto, analisamos os dados, examinamos as estatísticas e deduzimos os critérios - quando números diferentes são realmente diferentes e quando se trata de erros de digitação. Eu digo como o algoritmo funciona.

Introduzimos o coeficiente de números de "similaridade"


Dividir o número de passaportes e outros documentos em "correspondência sem correspondência" é uma decisão muito rude. Você pode agir de maneira mais refinada e pegar erros simples.

Digamos que a empresa tenha as seguintes regras para encontrar duplicatas (DUL - documento de identidade):

  • “Nome, endereço e DUL coincidiram completamente” - fator de duplicação - 100;
  • “Nome completo e nome completo” - 97;
  • “Nome e endereço coincidiram completamente” - 95
  • "Os nomes coincidiram completamente" - 80.

A automação combina cartões com um coeficiente maior que 97. O restante será um dia escolhido por pessoas especiais - administradores de dados. Se você tiver sorte e chegar a vez.

O resultado - na fila para análise manual, são duplicatas bastante óbvias. Mesmo os cartões com o mesmo nome e endereço dos números de passaporte são diferenciados por um erro de digitação comum. Como no caso de 4 6 01 859473 e 4 5 01 859473 (as teclas 6 e 5 estão próximas, geralmente são confusas). Os organizadores de dados são distraídos por erros simples de digitação e duplicatas reais são detectadas mais lentamente.

Observando o que estava acontecendo, ensinamos nossos produtos a contar a "semelhança" de números em documentos. Os clientes já estão usando a nova opção nas regras para mesclagem automática de duplicatas.

Consideramos "semelhança" de acordo com regras claras


Comparando documentos, o algoritmo limpa primeiro os números do lixo. Deixa apenas letras e números: A - Z, A - YaE, 0–9. E então começa a mágica, para a qual escrevi este artigo - o cálculo do coeficiente de "similaridade".

Advertência importante: as probabilidades não são prováveis. Esse número é necessário para dividir duplicatas em grupos com o mesmo tipo de erros. Nem importa qual é a "semelhança" em valor absoluto - é apenas um parâmetro para comparar números.

E agora - para as regras de cálculo.
A regraRelação de similaridadeExemploComentário
Jogo completo100
  • 46 07 324654;
  • 46 07 324654
Não há nada para falar, tudo está claro
Transgraphics100
  • AB 4358333;
  • AB 4358333
Transgraphics é quando os caracteres de um alfabeto são substituídos pelos mesmos de outro.

No primeiro caso, os caracteres são cirílicos, no segundo - latim.

Erro tipográfico inofensivo típico
Um erro de digitação comum95
  • 50 16 631 5 02;
  • 50 16 631 6 02
Um erro de digitação comum é quando os caracteres estão localizados em um dos blocos numéricos do teclado ou são semelhantes em ortografia.

O "fator" está procurando erros de digitação comuns na tabela "similaridade" que nossos analistas compilaram. (É melhor fazer o download mais cedo até que seus colegas sejam forçados a remover o link)
Alteração de layout94
  • AS 98787;
  • FY 98787
Funciona se houver apenas números e cirílico em uma linha e apenas números e latim na outra. Caso contrário, não parece que uma pessoa de boa fé tenha cometido um erro com o layout
Substituindo algarismos romanos por árabe93
  • XIX 987987;
  • 19 987987
Funciona apenas no início de uma linha. A lógica é a seguinte: os números romanos "honestos" só podem estar em uma série, e uma série - apenas no começo
Um erro de digitação comum90
  • 1 234 987987;
  • 3 234 987987
Erro de digitação não comum - um que não está incluído na tabela de
Uma permutação de dois caracteres90
  • 3.554 46 36 78;
  • 3554 46 63 78
Erro tipográfico, não há nada a acrescentar
Pares de caracteres são misturados89
  • 12 34 987987
  • 34 12 987987
Funciona apenas para episódios com mais de quatro caracteres.

Consideramos um erro de digitação apenas se ocorrer no início da linha. Este é um erro típico de declaração ao inserir uma série de documentos. E não é de admirar - em um formulário, uma série é impressa com dois pares de números.

No meio e no final de uma linha, essas permutações são um erro.
Um número está incluído em outro88
  • 12 3456789 ;
  • 3456789
Com essa comparação, pegamos casos de "perdeu a série".

Funciona apenas para cadeias de caracteres com comprimento de seis caracteres ou mais. Seis caracteres - o tamanho mínimo do número em documentos conhecidos por nós.

Para erros de digitação, contamos apenas no início ou no final da linha. Caso contrário, em vez de adereços cortados aleatoriamente, haverá ocorrências fragmentadas de algumas sequências em outras. Assim, você pode usar o CEP dentro do NIF para obter um bom erro de digitação
Quaisquer dois erros de digitação80
  • 15 0 2 47864 3 ;
  • 15 0 5 47 864 8

Já está bem perto da fronteira, mas os erros ainda parecem erros de digitação "honestos"
Todos os outros casos0 0
  • 46 07 987987;
  • 32 34 987987
Digitar as discrepâncias restantes é perigoso. A probabilidade de um erro é muito alta

"Similaridade" é tomada como parâmetro quando procuramos os mesmos clientes


O banco federal já está usando as novas regras - com a ajuda deles, eles procuram duplicatas entre os clientes em potencial. Em seguida, conectaremos um grande seguro.

Durante a integração, ajustamos os scripts de pesquisa duplicados para levar em conta a "similaridade" de números nos documentos.

De volta às regras típicas para encontrar duplicatas, eu as descrevi no começo:

  • “Nome, endereço e DUL coincidiram completamente” - fator de duplicação - 100;
  • “Nome completo e nome completo” - 97;
  • “Nome e endereço coincidiram completamente” - 95
  • "Os nomes coincidiram completamente" - 80.

Ao introduzir novas regras para comparar números, alteramos os scripts para encontrar duplicatas do cliente:

  • “Nome completo, endereço, DUL” - 100;
  • “Nome completo, endereço, DUL coincidiu com 90 e acima” - 98;
  • “Nome completo e nome completo” - 97;
  • “Nome e endereço coincidiram completamente” - 95;
  • "Os nomes coincidiram completamente" - 80.

A automação ainda “une” todos os cartões com um coeficiente acima de 97. Mas, com novos pedidos, os cartões que não diferem apenas em erros de digitação nos números de documentos não desaparecem para análise manual. As duplicatas explícitas são recolhidas instantaneamente e os organizadores de dados resolvem casos realmente complexos.

O artigo apareceu pela primeira vez no blog HFLabs .

Source: https://habr.com/ru/post/pt483348/


All Articles