Algoritmos de correspondência em IBM Master Data Management
Master Data ManagementIBM utiliza algoritmos de correspondência para resolver registros de dados em entidades de dados mestres. Os engenheiros de dados podem definir algoritmos de correspondência diferentes para cada tipo de entidade em seus dados. Os algoritmos de correspondência podem, então, analisar os dados para avaliar e comparar registros e, em seguida, coletar registros correspondidos para as entidades.
Há duas razões comuns para executar correspondência em seus dados:
- Para deduplicação de registro e resolução de entidade, o processo de correspondência analisa seus dados para determinar se algum registro duplicado existe em seus dados. Os registros duplicados suspeitos são mesclados em entidades de dados principais para estabelecer uma visualização em 360 graus única e confiável de seus dados.
- Para criar outros tipos de associações de entidades, o processo de correspondência analisa seus dados para coletar registros em entidades que representam diferentes tipos de agrupamentos, como um domicílio.
Assista ao vídeo a seguir para ver como usar IBMMaster Data Management para configurar um algoritmo de correspondência para um modelo de dados personalizado.
Este vídeo fornece um método visual para aprender os conceitos e tarefas desta documentação.
Correspondência para criar mais de um tipo de entidade
Master Data ManagementIBM Os algoritmos de correspondência são orientados pelo tipo de entidade dos dados associados. É possível definir mais de um tipo de entidade para cada tipo de registro no modelo de dados. Para cada tipo de entidade, configure e ajuste o algoritmo de correspondência correspondente para garantir que sejam IBMMaster Data Management criadas entidades que atendam aos requisitos da sua organização.
Um registro único pode fazer parte de mais de uma entidade separada. Se suas definições de tipo de dados incluírem mais de um tipo de entidade, você poderá executar diferentes tipos de correspondência no mesmo conjunto de dados. Por exemplo, considere um conjunto de dados que inclui registros de pessoa de toda a sua empresa. Se o tipo de registro Pessoa incluir definições para um tipo de entidade Pessoa e um tipo de entidade Domicílio, então é possível executar o algoritmo de correspondência Pessoa para resolução e deduplicação da entidade e também executar o algoritmo de correspondência Domicílio para criar entidades compostas por registros de pessoas que pertencem ao mesmo domicílio.
O processo de correspondência
O mecanismo de correspondência passa por um processo definido para correspondência de registros nas entidades. O processo de correspondência inclui três etapas principais:
Normatização. Durante esta etapa, o algoritmo padroniza o formato dos dados para que eles possam ser processados pelo mecanismo de correspondência.
Criação de bucket. O algoritmo classifica os dados em várias categorias ou "buckets" para que eles possam ser comparados como partes da informação.
Comparação. O algoritmo compara os dados para determinar uma pontuação de comparação final. Em seguida, o algoritmo usa a pontuação de comparação para determinar se os registros são uma correspondência.
Cada uma dessas etapas é definida e configurada pelo algoritmo de correspondência.
Regras de resiliência
Você pode usar a IBMMaster Data Management API para configurar regras de resiliência que limitam como o algoritmo de correspondência responde às alterações nos dados dos registros.
Sem regras de resiliência em vigor, há uma série de possíveis alterações na ligação de entidades que podem ocorrer quando um registro de dados mestre é adicionado, atualizado ou excluído:
Se um novo registro for adicionado, ele poderá:
- Junte-se a uma entidade existente.
- Faça com que duas ou mais entidades existentes se unam, atuando como um registro de ligação.
- Crie uma nova entidade singleton.
Se um registro for atualizado, ele pode:
- Deixa de pertencer à sua entidade atual e torna-se uma nova entidade única.
- Deixar de pertencer à sua entidade atual e passar a integrar outra entidade existente.
- Fazer com que sua entidade atual se divida em várias entidades.
- Fazer com que outras entidades se juntem à entidade existente, atuando como um registro de ligação.
- Não causar alterações na composição da entidade.
Se um registro for excluído, ele pode:
- Faz com que sua entidade singleton também seja excluída.
- Fazer com que sua entidade atual seja dividida.
Ao definir regras de resiliência, os engenheiros de dados podem configurar como o mecanismo IBMMaster Data Management de correspondência responde a cada um desses cenários. O mecanismo de correspondência controla seu comportamento de vinculação para se alinhar às regras de resiliência que você configurou. Ao configurar regras de resiliência, você pode limitar as fusões e divisões de entidades, o que significa que você pode ter uma composição de entidades mais estável.
Defina regras de resiliência usando a resiliency_rules API. Se uma determinada regra estiver definida como FALSE, o cenário de vinculação de entidades correspondente não concluirá suas alterações habituais de vinculação de entidades.
Para obter o conjunto atual de regras de resiliência, execute o seguinte comando da API:
GET /mdm/v1/resiliency_rules
Para atualizar as regras de resiliência, execute o seguinte comando da API com uma carga útil atualizada:
PUT /mdm/v1/resiliency_rules
{
"link_resiliency_rules": {
"records": {
"person": {
"add": {
"join_existing_entity": "true/false",
"merge_entities": "true/false"
},
"update": {
"record_becoming_singleton": "true/false",
"join_existing_entity": "true/false",
"original_entity_split": "true/false",
"merge_entities": "true/false"
},
"delete": {
"singleton_entity_deletion": "true",
"original_entity_split": "true/false"
}
}
},
"entities": {
}
}
}
Componentes do algoritmo de correspondência
Três tipos principais de componentes definem um algoritmo IBMMaster Data Management de correspondência:
Padronizadores
Como o nome sugere, os padronizadores definem como os dados são padronizados. A padronização permite que o algoritmo de correspondência converta os valores de diferentes atributos em uma representação padronizada que possa ser processada pelo mecanismo de correspondência.
O algoritmo de correspondência usa vários padronizadores. Cada padronizador é adequado para processar tipos de atributos específicos encontrados nos dados de registro.
Os padronizadores são definidos por objetos JSON. A definição de cada objeto JSON do padronizador contém três elementos:
label- um rótulo que identifica este padronizador.inputs- a listainputspossui um elemento, que é um objeto JSON. Esse objeto JSON tem dois elementos:fieldseattributes:fields- a lista de campos a serem usados para padronização.attributes- a lista de atributos a serem usados para padronização.
standardizer_recipe- uma lista de objetos JSON em que cada objeto representa uma etapa a ser executada durante o processo de normatização do padronizador associado. Cada objeto na listastandardizer_recipeconsiste em quatro elementos principais:label- um rótulo que identifica esta etapa na receita do padronizador.method- o método interno usado. Este elemento é apenas para referência e não deve ser editado.inputs- Um único elemento dainputslista definida um nível acima.fields- uma lista dos campos a serem usados para esta etapa. Geralmente, trata-se de um subconjunto de todos os campos definidos nainputslista um nível acima. Nem toda etapa precisa processar todos os campos doinputs.set_resource- o nome de um recurso customizável do tiposetusado para esta etapa.map_resource- o nome de um recurso customizável do tipomapusado para esta etapa.
Dependendo do comportamento de uma etapa, pode haver mais elementos de configuração que são necessários no objeto JSON correspondente.
Padronizadores pré-configurados
Os seguintes padronizadores estão prontos para uso em IBMMaster Data Management. Os padronizadores pré-configurados também são personalizáveis.
Padronizador de nomes de pessoas
Este padronizador é usado para padronizar valores de atributos de nomes de pessoas. Contém as seguintes receitas, em sequência:
Upper case- Converte os valores do campo de entrada para usar seus equivalentes em maiúsculas.Map character- Converte caracteres de entrada UNICODE em caracteres equivalentes do alfabeto inglês. Opcionalmente, defina o mapa nos recursos IBMMaster Data Management.Tokenizer- Tokeniza o valor do campo de entrada em vários tokens, com base na lista definida de delimitadores.Parse token- Analisa os valores do campo de entrada em diferentes tokens, dependendo dos valores predefinidos nos IBMMaster Data Management recursos. Por exemplo, você pode usar esta receita para analisar valores de sufixo, prefixo e geração em campos apropriados.Length- Descarta tokens que estão fora de um determinado intervalo de comprimento. Os valores mínimo e máximo são definidos nos recursos Master Data ManagementIBM.Stop token- Remove valores de entrada anônimos, conforme configurado.Pick token- Seleciona um subconjunto (ou todos) dos tokens como dados padronizados para uso em agrupamento e comparação.
O padronizador de nomes de pessoas usa os seguintes recursos do Map por padrão:
map_character_general- Converte caracteres de entrada UNICODE em caracteres equivalentes do alfabeto inglês.person_map_name_alignments- Analisa os valores do sufixo, prefixo e geração nos campos apropriados.
O padronizador de nomes de pessoas usa os seguintes recursos definidos por padrão:
person_set_name_aname- Remove valores de nomes de pessoas anônimas.
Padronizador de nomes de organizações
Este padronizador é usado para padronizar os valores do atributo Nome da Organização. Contém as seguintes receitas, em sequência:
Upper case- Converte os valores do campo de entrada para usar seus equivalentes em maiúsculas.Map character- Converte caracteres de entrada UNICODE em caracteres equivalentes do alfabeto inglês. Opcionalmente, defina o mapa nos recursos IBMMaster Data Management.Stop character- Remove caracteres indesejados dos valores dos nomes.Map token- Gera apelidos ou nomes alternativos para a entrada fornecida e armazena as informações em um novo campo interno separado.Tokenizer- Tokeniza o valor do campo de entrada em vários tokens, com base na lista definida de delimitadores.Stop token- Remove valores de entrada anônimos, conforme configurado.Acronym- Gera uma sigla para o nome da organização fornecido e armazena as informações em um novo campo interno separado. Este valor de acrônimo é usado durante a comparação para lidar com nomes abreviados.Pick token- Seleciona um subconjunto (ou todos) dos tokens como dados padronizados para uso em agrupamento e comparação.
O padronizador de nomes de organizações usa os seguintes recursos do Mapa por padrão:
map_character_general- Converte caracteres de entrada UNICODE em caracteres equivalentes do alfabeto inglês.org_map_name_cnick_name- Gera apelidos ou nomes alternativos para a entrada fornecida.
O padronizador de nomes de organizações usa os seguintes recursos definidos por padrão:
org_set_name_aname- Remove valores de nomes de organizações anônimas.
Padronizador de datas
Este padronizador é usado para padronizar valores de atributos de data. Suporta muitos formatos de data diferentes e contém as seguintes receitas, em sequência:
Map character- Converte caracteres de barra (//) em caracteres de traço (--).Date function- Converte entradas de data em diferentes formatos para um formato padronizado.Stop token- Remove valores de data anônimos, conforme configurado.Parse token- Analisa os valores do campo de entrada em diferentes tokens, dependendo de determinadas expressões regulares. Por exemplo, você pode usar esta receita para analisar uma entrada de data completa em tokens de dia, mês e ano.Pick token- Seleciona um subconjunto (ou todos) dos tokens como dados padronizados para uso em agrupamento e comparação.
O padronizador de datas usa os seguintes recursos do Map por padrão:
map_character_date_separators- Converte barras (//) ou quaisquer outros caracteres separadores em traços (-).map_date_tokens_year_month_day- Analisa o valor da data inserida em campos internos, nomeadamentebirth_year,birth_monthebirth_day, com base em expressões regulares.
O padronizador de datas usa os seguintes recursos definidos por padrão:
set_date_date- Remove valores de data anônimos.
Padronizador de gênero
Este padronizador é utilizado para padronizar valores de atributos de gênero. Contém as seguintes receitas, em sequência:
Map character- Converte caracteres de entrada UNICODE em caracteres equivalentes do alfabeto inglês. Opcionalmente, defina o mapa nos recursos IBMMaster Data Management.Upper case- Converte os valores do campo de entrada para usar seus equivalentes em maiúsculas.Stop token- Remove valores de gênero de entrada anônimos, conforme configurado.Map token- Converte os valores dos tokens de entrada em valores equivalentes, conforme configurado nos recursos IBMMaster Data Management.Parse token- Analisa os valores dos campos processados para um campo interno apropriado.Pick token- Seleciona um subconjunto (ou todos) dos tokens como dados padronizados para uso em agrupamento e comparação.
O padronizador de gênero usa os seguintes recursos do Map por padrão:
map_character_general- Converte caracteres de entrada UNICODE em caracteres equivalentes do alfabeto inglês.map_gender_gender– Mapeia diferentes valores de gênero inseridos para valores padrão.map_gender_tokens_gender- Analisa o valor do token de entrada para o campogenderinterno com base na expressão regular.
O padronizador de gênero usa os seguintes recursos definidos por padrão:
set_gender_anon_gender- Remove valores de gênero anônimos inseridos.
Padronizador de endereços
Este padronizador é utilizado para padronizar valores de atributos de endereço. Os endereços podem ter vários formatos diferentes, dependendo das configurações regionais. Essa flexibilidade requer um processamento complexo para converter endereços em um formato padronizado. O padronizador de endereços contém as seguintes receitas, em sequência:
Upper case- Converte os valores do campo de entrada para usar seus equivalentes em maiúsculas.Map character- Converte caracteres de entrada UNICODE em caracteres equivalentes do alfabeto inglês. Opcionalmente, defina o mapa nos recursos IBMMaster Data Management.Map token- Converte os valores dos tokens de entrada em valores equivalentes, conforme configurado nos recursos IBMMaster Data Management. Por exemplo, “Estados Unidos da América”, “Estados Unidos” e “EUA” podem todos ser mapeados para “EUA”. Esse mapeamento é comum para valores de campo de país e província/estado. Além disso, os caracteres delimitadores configurados no recurso são mapeados para o caractere de espaço.Tokenizer- Tokeniza o valor do campo de entrada em vários tokens, com base na lista definida de delimitadores.Stop token- Remove valores de entrada anônimos, como códigos postais, conforme configurado.Keep token- Permite apenas a lista definida de valores para um determinado campo. Por exemplo, você pode definir uma lista de códigos postais permitidos durante a padronização. Os valores inseridos que não estiverem na lista permitida serão removidos.Parse token- Analisa os valores do campo de entrada para campos internos apropriados, dependendo de determinadas expressões regulares e valores predefinidos, conforme configurado nos recursos. Você pode usar esta receita para truncar um determinado token até um certo comprimento usando expressões regulares. Você também pode definir diferentes conjuntos de padrões alfanuméricos na forma de expressões regulares para permitir apenas determinados padrões.Join fields- Une dois ou mais campos para criar um novo valor combinado, atribuído a um campo interno. Por exemplo, os valoreslatitudedos camposlongitudee podem ser unidos para formar um novo campo interno chamadolat_long.Pick token- Seleciona um subconjunto (ou todos) dos tokens como dados padronizados para uso em agrupamento e comparação.
O padronizador de endereços usa os seguintes recursos de mapa por padrão:
map_character_general- Converte caracteres de entrada UNICODE em caracteres equivalentes do alfabeto inglês.map_address_country- Converte os valores do país inseridos em valores equivalentes.map_address_province_state- Converte os valores inseridos para província e estado em valores equivalentes.map_address_delimiter_removal- Mapeia os caracteres delimitadores configurados no recurso para o caractere de espaço.map_address_addr_tok- Converte os valores dos tokens de endereço de entrada em valores equivalentes.map_address_tokens_unit_type_and_number- Analisa o campo de entradaresidence_numbercom base em expressões regulares para campos internos, nomeadamenteunit_typeeunit_number.map_address_tokens_street_number_name_direction_type- Analisa o campo de entradaaddress_line1com base em expressões regulares para campos internos, nomeadamentestreet_number,street_namedirection, estreet_type.map_address_tokens_sub_division- Analisa o campo de entradaaddress_line2com base em expressões regulares para o campo internosub_division.map_address_tokens_pobox_type_and_number- Analisa o campo de entradaaddress_line3com base em expressões regulares para campos internos, nomeadamentepobox_typeepobox.map_address_tokens_city- Analisa o valor de entrada docitycampo com base em expressões regulares.map_address_tokens_province- Analisa o valor de entrada doprovince_statecampo com base na expressão regular para o campo internoprovince.map_address_tokens_postal_code- Analisa o valor de entrada do campozip_postal_codecom base na expressão regular para o campo internopostal_code.map_address_tokens_country- Analisa o valor de entrada do campocountrycom base em expressões regulares.map_address_tokens_latitude- Analisa o valor de entrada do campolatitude_degreescom base na expressão regular para o campo internolatitude.map_address_tokens_longtitude- Analisa o valor de entrada do campolongitude_degreescom base na expressão regular para o campo internolongitude.
O padronizador de endereços usa os seguintes recursos definidos por padrão:
set_address_postal_code- Remove valores de entrada anônimos parazip_postal_code.
Padronizador de telefone
Este padronizador é usado para padronizar valores de atributos de telefone. Contém as seguintes receitas, em sequência:
Stop character- Remove caracteres indesejados dos valores do telefone.Stop token- Remove valores telefônicos anônimos, conforme configurado.Phone- Analisa números de telefone inseridos com formatos diferentes de diferentes locais em um formato comum. Esta receita pode ser configurada para remover códigos de área e códigos de país dos números de telefone. Ele também pode reter um determinado número de dígitos em um número de telefone padronizado.Parse token- Analisa os valores dos campos processados para um campo interno apropriado, dependendo de determinadas expressões regulares, conforme configurado nos recursos.Pick token- Seleciona um subconjunto (ou todos) dos tokens como dados padronizados para uso em agrupamento e comparação.
O padronizador de telefone usa os seguintes recursos do Map por padrão:
map_phone_tokens_phone- Analisa valores de telefone para um campo interno com base em expressões regulares.
O padronizador de telefone usa os seguintes recursos definidos por padrão:
set_character_phone- Substitui todos os caracteres que não são alfanuméricos. Permite especificar expressões regulares.set_phone_anon_phone- Remove valores telefônicos anônimos.
Padronizador de identificação
Este padronizador é usado para padronizar valores de atributos de identificação. Contém as seguintes receitas, em sequência:
Map character- Converte caracteres de entrada UNICODE em caracteres equivalentes do alfabeto inglês. Opcionalmente, defina o mapa nos recursos IBMMaster Data Management.Upper case- Converte os valores do campo de entrada para usar seus equivalentes em maiúsculas.Stop character- Remove caracteres indesejados dos valores de identificação.Stop token- Remove valores de entrada anônimos, conforme configurado.Map token- Converte os valores dos tokens de entrada em valores equivalentes, conforme configurado nos recursos IBMMaster Data Management.Parse token- Analisa os valores dos campos processados para um campo interno apropriado, dependendo de determinadas expressões regulares, conforme configurado nos recursos.Pick token- Seleciona um subconjunto (ou todos) dos tokens como dados padronizados para uso em agrupamento e comparação.
O padronizador de identificação usa os seguintes recursos de mapa por padrão:
map_character_general- Converte caracteres de entrada UNICODE em caracteres equivalentes do alfabeto inglês.map_identifier_equi_identifier- Converte os valores dos tokens de entrada em valores equivalentes.map_identifier_tokens_identification_number- Analisa os valores dos campos processados para um campo interno apropriado, dependendo de determinadas expressões regulares, conforme configurado nos recursos.
O padronizador de identificação usa os seguintes recursos definidos por padrão:
set_character_identification_number- Remove caracteres de entrada não alfanuméricos dos valores de identificação. Permite especificar expressões regulares.set_identifier_anonymous- Remove valores de identificação anônimos.
Padronizador de e-mails
Este padronizador é usado para padronizar valores de atributos de e-mail. Contém as seguintes receitas, em sequência:
Map character- Converte caracteres de entrada UNICODE em caracteres equivalentes do alfabeto inglês. Opcionalmente, defina o mapa nos recursos IBMMaster Data Management.Upper case- Converte os valores do campo de entrada para usar seus equivalentes em maiúsculas.Stop token- Remove valores de entrada anônimos, conforme configurado.Map token- Converte os valores dos tokens de entrada em valores equivalentes, conforme configurado nos recursos IBMMaster Data Management.Parse token- Analisa os valores dos campos processados para um campo interno apropriado, dependendo de determinadas expressões regulares, conforme configurado nos recursos.Pick token- Seleciona um subconjunto (ou todos) dos tokens como dados padronizados para uso em agrupamento e comparação.
O padronizador de e-mails usa os seguintes recursos de mapa por padrão:
map_character_general- Converte caracteres de entrada UNICODE em caracteres equivalentes do alfabeto inglês.map_non_phone_equi_non_phone- Converte os valores dos tokens de entrada em valores equivalentes.map_non_phone_tokens_non_phone- Analisa o campo de entradaemail_idcom base em expressões regulares para os campos internosemail_local_parteemail_domain.
O padronizador de e-mails usa os seguintes recursos definidos por padrão:
set_non_phone_anon_non_phone- Remove valores de e-mails anônimos.
Tipos de entidades (classificação)
Dentro de um único algoritmo de correspondência, cada tipo de registro pode ter várias definições de tipo de entidade (objetos JSON entity_type). Por exemplo, em um algoritmo definido para um tipo de registro de pessoa, você pode precisar criar mais de uma definição de tipo de entidade, como entidade de pessoa, entidade de domicílio, entidade de localização, etc.
Cada tipo de entidade pode ser usado para corresponder e vincular registros de diferentes formas. Um tipo de entidade define como os registros são depositados e comparados durante o processo de correspondência.
Cada definição de tipo de entidade (entity_type) no algoritmo de correspondência tem vários elementos JSON:
clerical_review_threshold- os registros que possuem uma pontuação de comparação inferior ao limite de revisão administrativo são considerados como não correspondências.auto_link_threshold- os registros que possuem uma pontuação de comparação superior ao limite de link automático são considerados como correspondências fortes o suficiente, que eles são correspondidos automaticamente.bucket_generators- Esta seção contém a definição dos geradores de bucket configurados para um tipo de entidade. Existem dois tipos de geradores de bucket: buckets e grupos de bucket.Baldes envolvem a criação de bucket para apenas um atributo. Cada definição do
bucketinclui quatro elementos:label- um rótulo que identifica o gerador de bucket.maximum_bucket_size- um valor que define o tamanho de buckets grandes. Qualquer hash de bucket com um tamanho de bucket maior do que este valor não é considerado para seleção de candidato durante a correspondência.inputs- para buckets, a listainputspossui apenas um elemento, que é um objeto JSON. Esse objeto JSON tem dois elementos:fieldseattributes:fields- a lista de campos a serem usados para a criação de bucket.attributes- a lista de atributos a serem usados para a criação de bucket.
bucket_recipe- uma lista de receita de bucket define as etapas para que o gerador de bucket seja concluído durante o processo de criação de bucket. Cada listabucket_recipepossui uma série de subelementos:label- um rótulo que identifica o elemento da receita do bucket.method- o método interno usado. Este elemento é apenas para referência e não deve ser editado.inputs- Um único elemento dainputslista definida um nível acima.fields- uma lista dos campos a serem usados para este bucket. Geralmente, trata-se de um subconjunto de todos os campos definidos nainputslista um nível acima.min_tokens- o número mínimo de tokens a serem usados quando a receita está formando um hash de bucket.max_tokens- o número máximo de tokens a serem usados em conjunto quando a receita estiver formando um hash de bucket.count- um limite no número de hashes de bucket para um registro único que é gerado fora de um gerador de bucket. Se um registro gerar muitos hashes de bucket, apenas o número de hashes configurado por este elemento será selecionado.bucket_group- o número da sequência para um grupo de buckets que produz um hash de bucket. Etapas ou receitas intermediárias não receberiam um número de sequência.order- especifica se os tokens são classificados em ordem lexicográfica quando vários tokens são combinados para formar um hash de bucket.maximum_bucket_size- um valor que define o tamanho de buckets grandes. Este elemento é o mesmo que o definido no nível do gerador de bucket; tê-lo no nível de receita do bucket também proporciona um controle mais fino sobre buckets individuais grandes.
Grupos de bucket envolvem a criação de bucket para mais de um atributo. Cada definição do
bucket_groupinclui cinco elementos:label- um rótulo que identifica o gerador de bucket.maximum_bucket_size- um valor que define o tamanho de buckets grandes. Qualquer hash de bucket com um tamanho de bucket maior do que este valor não é considerado para seleção de candidato durante a correspondência.inputs- para grupos de bucket, a listainputstem mais de um elemento de objeto JSON. Cada um dos objetos JSON tem dois elementos:fieldseattributes:fields- a lista de campos a serem usados para a criação de bucket.attributes- a lista de atributos a serem usados para a criação de bucket.
bucket_recipe- uma lista de receita de bucket define as etapas para que o gerador de bucket seja concluído durante o processo de criação de bucket. Cada listabucket_recipepossui uma série de subelementos:label- um rótulo que identifica o elemento da receita do bucket.method- o método interno usado. Este elemento é apenas para referência e não deve ser editado.inputs- Um único elemento dainputslista definida um nível acima.fields- uma lista dos campos a serem usados para este bucket. Geralmente, trata-se de um subconjunto de todos os campos definidos nainputslista um nível acima.min_tokens- o número mínimo de tokens a serem usados quando a receita está formando um hash de bucket.max_tokens- o número máximo de tokens a serem usados em conjunto quando a receita estiver formando um hash de bucket.count- um limite no número de hashes de bucket para um registro único que é gerado fora de um gerador de bucket. Se um registro gerar muitos hashes de bucket, apenas o número de hashes configurado por este elemento será selecionado.bucket_group- o número da sequência para um grupo de buckets que produz um hash de bucket. Etapas ou receitas intermediárias não receberiam um número de sequência.order- especifica se os tokens são classificados em ordem lexicográfica quando vários tokens são combinados para formar um hash de bucket.maximum_bucket_size- um valor que define o tamanho de buckets grandes. Este elemento é o mesmo que o definido no nível do gerador de bucket. Ser capaz de defini-lo no nível da receita do bucket proporciona um controle mais fino sobre buckets individuais grandes.set_resource- o nome de um recurso do tiposetusado para uma receita de bucket.map_resource- o nome de um recurso do tipomapusado para uma receita de bucket.output_fields- se esta receita produzir novos campos depois de concluir as funções de criação de bucket nos campos de entrada, este elemento conterá uma lista dos nomes dos campos gerados.
bucket_group_recipe- uma seção de receita de grupo de buckets é usada normalmente para definir buckets que consistem em mais de um atributo. Todo elemento de uma listabucket_group_recipeé um objeto JSON que define a construção para um único grupo de buckets.- A
inputslista dentrobucket_group_recipetem mais de um elemento, o que significa que se refere a mais de um atributo definido nainputsmatriz um nível acima. - O elemento
fieldsé uma lista das listas. Toda lista interna de campos está associada à respectiva listaattributes. - As listas
min_tokensemax_tokenspossuem mais de um elemento, com cada elemento correspondente à respectiva listaattributes.
- A
Nota:Em algumas definições de receitas de agrupamento, existe uma propriedade chamada
search_only. Por padrão, seu valor éfalse. Se definida comotrue, essa propriedade indica que um bucket ou grupo de buckets é usado apenas para cenários de pesquisa probabilística e não é usado para cenários de resolução de entidades (correspondência).
compare_methods- definições dos métodos de comparação que são configurados para um tipo de entidade. Cada objeto JSONcompare_methodsconsiste em definições de vários métodoscompare. O algoritmo de correspondência soma as pontuações de cada definição de métodocomparepara obter a pontuação de comparação final. Cada objeto JSON do métodocomparecontém três elementos:label- um rótulo que identifica o métodocompare.methods- uma lista de comparadores que formam um grupo de comparação. Todo elemento dessa matriz representa um comparador, destinado a um tipo de atributo de correspondência. O algoritmo de correspondência considera o máximo das pontuações de todos os comparadores em uma lista domethodscomo a pontuação final a partir deste grupo de comparação. Cada definição de comparador inclui dois elementos:inputs- para comparadores, a listainputspossui apenas um elemento, que é um objeto JSON. Esse objeto JSON tem dois elementos:fieldseattributes:fields- a lista de campos a serem usados para comparação.attributes- a lista de atributos a serem usados para comparação.
compare_recipe- esta lista é usada principalmente para definição das etapas de comparação. Geralmente, há apenas um elemento JSON nesta matriz, representando apenas uma etapa para fazer a comparação. Esta etapa tem cinco elementos:label- um rótulo que identifica a etapa de comparação.method- o método interno usado. Este elemento é apenas para referência e não deve ser editado.inputs- Um único elemento dainputslista definida um nível acima.fields- Os campos a serem usados para essa comparação entre todos os campos definidos nainputslista um nível acima.comparison_resource- o nome de um recurso de comparação customizável usado para esta etapa de comparação.
weights- cada comparação que é feita por um comparador resulta em uma pontuação de número entre 0 e 10. Esse número é chamado de distância ou medida de dissimilaridade. Uma distância de 0 indica que os valores que estão sendo comparados são exatamente os mesmos. Uma distância de 10 indica que eles são completamente diferentes. Correspondendo aos 11 valores distintos (0 - 10), são definidos 11 pesos para cada comparador. Após calcular a distância, o método de comparação determina o valor de peso correspondente da lista de pesos, resultando na pontuação de comparação total. Os engenheiros de dados podem customizar os pesos conforme necessário, com base na qualidade ou distribuição de dados ou em outros fatores.
record_filter- O elemento de filtragem de registros permite que o mecanismo de correspondência selecione registros para correspondência com base em seus tipos de entidade. Cada definição de filtro de registro contém um elemento:criteria- Inclui ou exclui registros da consideração de correspondência com base em condições específicas. Este elemento contém um objeto JSON com um par chave-valor.A chave do objeto
criteriaJSON é um nome de atributo. Pode ser uma das seguintes opções:- O
record_sourceatributo do sistema. - Um atributo personalizado definido pelo usuário de um tipo de atributo simples (string).
- O
O valor do objeto
criteriaJSON é outro objeto JSON contendo um elemento, que pode ser um dos seguintes:allowed- Uma matriz de valores de string. Os registros que incluírem qualquer um desses valores serão considerados durante a correspondência.disallowed- Uma matriz de valores de string. Os registros que incluírem qualquer um desses valores não serão considerados durante a correspondência.
source_level_thresholds- Os limites no nível da fonte permitem definir limites para o autolink e a revisão administrativa com base em cada fonte individualmente. Os limites no nível da fonte substituem os valores padrão dos limites globais. Cada configuração de limite no nível da fonte contém uma coleção de fontes com limites padrão opcionais específicos para cada fonte ou uma coleção de pares de limites entre fontes que permitem definir limites diferentes para cada fonte. Para obter mais informações, consulte Configurando limites de correspondência específicos da fonte no tópico Ajuste avançado do algoritmo de correspondência.
Agrupamento de recursos
As definições de segmentação utilizam os seguintes recursos de mapa por padrão:
person_map_name_nickname- Gera apelidos ou nomes alternativos para um determinado nome de pessoa inserido.org_map_name_cnick_name- Gera apelidos ou nomes alternativos para um determinado nome de organização inserido.
As definições de segmentação utilizam os seguintes recursos definidos por padrão:
person_set_name_bkt_anon- Remove valores de nomes de pessoas anônimas.org_set_name_acname– Remove valores de nomes de organizações anônimas.
Funções de comparação
As funções de comparação, às vezes chamadas de comparadores, são um dos principais componentes do algoritmo de correspondência. As funções de comparação são utilizadas pelo mecanismo de correspondência para comparar os dados dos registros durante o processo de correspondência. Essencialmente, a correspondência de registros envolve a comparação de diferentes tipos de atributos entre os dados de diferentes registros.
Para muitos dos tipos de atributos comumente usados nos domínios pessoa, organização e localização, o mecanismo IBMMaster Data Management de correspondência inclui métodos de comparação pré-configurados.
Em IBM Master Data Management, as funções de comparação utilizam uma abordagem de comparação conhecida como vetores de características. Existem diferentes definições de recursos personalizáveis em IBMMaster Data Management que são usadas para diferentes funções de comparação. Cada comparação resulta em uma medida de distância (um vetor) que mostra o quanto dois valores de atributos determinados são diferentes.
No algoritmo de correspondência, cada valor de distância discreto recebe um peso que determina a importância com que esse valor deve ser considerado. O peso é combinado com a distância para produzir uma pontuação comparativa. O algoritmo de correspondência soma todas as pontuações de comparação para chegar a uma pontuação final de comparação para a comparação geral entre registros.
Sobre os recursos
Uma característica representa os detalhes de nível fino de uma função de comparação. Diferentes tipos de atributos utilizam diferentes tipos de verificações de similaridade, o que significa que suas características também variam.
As definições de recursos determinam os tipos de funções internas utilizadas para cada função de comparação. Exemplos de funções internas incluem correspondência exata, distância de edição, apelido, equivalente fonético ou correspondência inicial.
Recursos de comparação
Cada método de comparação inclui recursos que contêm os detalhes de suas operações internas de comparação.
Cada um dos tipos de comparação padrão possui seus próprios recursos. Consulte cada tipo de comparação para obter detalhes sobre os recursos associados.
Para comparações entre tipos de atributos personalizados que têm um tipo correspondente de generic, o método de comparação genérico inclui os seguintes recursos:
compare_spec_generic- No algoritmo gerado, o formato do nome deste recurso érecordType_entityType_compare_spec_generic.
Comparações de nomes de pessoas
Os diferentes campos dentro de um atributo de nome de pessoa são tratados de forma diferente. Para campos como prefixo, sufixo e valores de geração, é verificada a exatidão ou a não correspondência. Outros campos, como nome próprio, sobrenome e nome do meio, utilizam principalmente os seguintes recursos:
- Correspondência exata
- Partida de apelidos
- Distância de edição
- As iniciais coincidem
- Correspondência fonética
- Extravio de fichas
- Fichas extras
- Valores omissos
O método de comparação de nomes de pessoas inclui os seguintes recursos:
person_compare_spec_name– No algoritmo gerado, o formato do nome deste recurso érecordType_entityType_ compare_spec_name. Por exemplo:person_person_entity_compare_spec_name.
Comparações entre nomes de organizações
Para nomes de organizações, normalmente há um campo que contém o nome completo da empresa. Esse campo é comparado usando principalmente os seguintes recursos:
- Correspondência exata
- Partida de apelidos
- Distância de edição
- As iniciais coincidem
- Correspondência fonética
- Extravio de fichas
- Fichas extras
- Valores omissos
Para nomes de organizações, as siglas e apelidos também são comparados quanto à exatidão.
O método de comparação de nomes de organizações inclui os seguintes recursos:
org_compare_spec_name- No algoritmo gerado, o formato do nome deste recurso érecordType_entityType_ compare_spec_name.
Comparações de datas
Para datas, normalmente há três campos a serem comparados: dia, mês e ano.
O year campo é comparado usando os seguintes recursos:
- Exatidão
- Distância de edição
- Não correspondente
- Ausente
Os campos daymonth e são comparados utilizando as seguintes características:
- Exatidão
- Não correspondente
- Ausente
O comparador de datas também verifica se os campos day month e foram transpostos devido a diferenças locais na formatação de datas.
O método de comparação de datas inclui os seguintes recursos:
compare_spec_date- No algoritmo gerado, o formato do nome deste recurso érecordType_entityType_ compare_spec_date.
Comparações entre gêneros
O atributo de gênero é comparado usando os seguintes recursos:
- Exatidão
- Não correspondente
O método de comparação de gênero inclui os seguintes recursos:
compare_spec_gender- No algoritmo gerado, o formato do nome deste recurso érecordType_entityType_ compare_spec_gender.
Comparações de endereços
Os diferentes campos dentro de um atributo de endereço são tratados de forma diferente.
Campos como país, cidade, província/estado e subdivisão são comparados usando os seguintes recursos:
- Exatidão
- Equivalência
- Distância de edição
- Não correspondente
- Ausente
Os campos de código postal são comparados utilizando as seguintes características:
- Exatidão
- Distância de edição
- Não correspondente
- Ausente
Campos como número da rua, nome da rua, tipo de rua, número da unidade e direção são comparados usando os seguintes recursos:
- Exatidão
- Equivalência
- As iniciais coincidem
- Distância de edição
- Não correspondente
- Extravio de fichas
- Ausente
O método de comparação de endereços inclui os seguintes recursos:
compare_spec_address- No algoritmo gerado, o formato do nome deste recurso érecordType_entityType_ compare_spec_address.
Comparações entre telefones
Os atributos do número de telefone são comparados usando os seguintes recursos:
- Correspondência exata
- Distância de edição
- Não correspondente
O método de comparação de telefones inclui os seguintes recursos:
compare_spec_phone- No algoritmo gerado, o formato do nome deste recurso seriarecordType_entityType_ compare_spec_phone.
Comparações de identificadores
Os atributos do número de identificação são comparados usando os seguintes recursos:
- Correspondência exata
- Distância de edição
- Não correspondente
O método de comparação de identificadores inclui os seguintes recursos:
compare_spec_identifier- No algoritmo gerado, o formato do nome deste recurso érecordType_entityType_ compare_spec_identifier.
Comparações de e-mails
Os atributos do e-mail consistem em duas partes: o ID exclusivo (antes do símbolo @) e o domínio do e-mail (depois do símbolo @). Tanto a parte do ID quanto a parte do domínio são comparadas separadamente, usando os seguintes recursos:
- Correspondência exata
- Distância de edição
- Não correspondente
Os resultados das duas comparações são combinados de forma ponderada para produzir uma pontuação comparativa global.
O método de comparação de e-mails inclui os seguintes recursos:
compare_spec_email- No algoritmo gerado, o formato do nome deste recurso érecordType_entityType_ compare_spec_email.
Distância de edição
O mecanismo IBMMaster Data Management de correspondência calcula a distância de edição como uma das funções internas durante a comparação e correspondência de vários atributos. A distância de edição é uma medição do grau de dissimilaridade entre duas sequências de caracteres. Ela é calculada contando o número de mudanças necessárias para transformar uma sequência de caracteres na outra.
Existem diferentes maneiras de definir uma distância de edição usando diferentes conjuntos de operações de sequências de caracteres. Por padrão, IBMMaster Data Management utiliza uma função de distância de edição padrão que está disponível publicamente na literatura. Como alternativa, você pode optar por usar uma função especializada de distância IBMMaster Data Management de edição.
A função de distância de edição padrão proporciona melhor desempenho do mecanismo de correspondência. Por esta razão, ela é a configuração de comparação padrão para todos os atributos, exceto para o tipo de atributo Telefone.
A função de distância de edição especializada é construída para casos de uso de hiperprecisão. Esta opção leva em consideração erros de digitação ou caracteres de aparência semelhante, como 8 e B, 0 e O, 5 e S ou 1 e I. Quando há uma incompatibilidade em dois valores comparados com base em caracteres com aparência semelhante, a medida de dissimilaridade designada é menor do que o que seria designado por uma função de distância de edição padrão. Como resultado, esses tipos de incompatibilidades não são penalizados tão fortemente pela função especializada.
Importante: a função de distância de edição especializada inclui alguns cálculos complexos. Como resultado, escolher esta opção tem um impacto no desempenho do sistema durante o processo de correspondência.
Para obter informações sobre como personalizar seu algoritmo de correspondência, incluindo o uso da API para personalizar a distância de edição, consulte Personalizando e fortalecendo seu algoritmo de correspondência.