Algoritmos de emparejamiento en IBM Master Data Management

IBM Master Data Management utiliza algoritmos de coincidencia para convertir los registros de datos en entidades de datos maestros. Los ingenieros de datos pueden definir diferentes algoritmos de coincidencia para cada tipo de entidad en sus datos. A continuación, los algoritmos de coincidencia pueden analizar los datos para evaluar y comparar registros y, a continuación, recopilar registros coincidentes en entidades.

Hay dos razones comunes para ejecutar la coincidencia en los datos:

  • Para la deduplicación de registros y la resolución de entidades, el proceso de coincidencia analiza los datos para determinar si existen registros duplicados en los datos. Los registros duplicados sospechosos se fusionan en entidades de datos maestros para establecer una única vista de 360 grados de confianza de los datos.
  • Para crear otros tipos de asociaciones de entidades, el proceso de coincidencia analiza los datos para recopilar registros en entidades que representan tipos diferentes de agrupaciones, como por ejemplo una unidad familiar.

Mira el siguiente vídeo para ver cómo utilizar IBM Master Data Management para configurar un algoritmo de coincidencia para un modelo de datos personalizado.

Este vídeo proporciona un método visual para aprender los conceptos y tareas de esta documentación.

Coincidencia para crear más de un tipo de entidad

IBM Master Data Management Los algoritmos de coincidencia dependen del tipo de entidad de los datos asociados. Puede definir más de un tipo de entidad para cada tipo de registro en el modelo de datos. Para cada tipo de entidad, configura y ajusta el algoritmo de coincidencia correspondiente para garantizar que IBM Master Data Management cree entidades que cumplan con los requisitos de tu organización.

Un solo registro puede formar parte de más de una entidad separada. Si sus definiciones de tipos de datos incluyen más de un tipo de entidad, puede ejecutar diferentes tipos de correspondencia en el mismo conjunto de datos. Por ejemplo, considere un conjunto de datos que incluya registros de personas de toda la empresa. Si el tipo de registro de persona incluye definiciones para un tipo de entidad Persona y un tipo de entidad de unidad familiar, puede ejecutar el algoritmo de coincidencia del tipo persona para la resolución de entidades y la deduplicación y, también, ejecutar el algoritmo de coincidencia del tipo de unidad familiar para crear entidades constituidas por registros de personas que pertenecen a la misma unidad familiar.

El proceso de coincidencia

El motor de coincidencias pasa por un proceso definido para que coincida con los registros en entidades. El proceso de coincidencia incluye tres pasos principales:

  1. Estandarización. Durante este paso, el algoritmo estandariza el formato de los datos para que pueda ser procesado por el motor de coincidencias.

  2. Grupos. El algoritmo clasifica los datos en varias categorías o "grupos" para que pueda comparar fragmentos de información similares.

  3. Comparación. El algoritmo compara datos para determinar una puntuación de comparación final. A continuación, el algoritmo utiliza la puntuación de comparación para determinar si los registros son una coincidencia.

Cada uno de estos pasos se define y configura mediante el algoritmo de coincidencia.

Normas de resistencia

Puede utilizar la API de IBM Master Data Management para configurar reglas de resiliencia que limiten la forma en que el algoritmo de coincidencia responde a los cambios en los datos de los registros.

Si no se aplican reglas de resistencia, pueden producirse varios cambios en la vinculación de entidades cuando se añade, actualiza o elimina un registro de datos maestros:

  • Si se añade un nuevo registro, puede:

    • Unirse a una entidad existente.
    • Hacer que dos o más entidades existentes se unan actuando como un registro de cola.
    • Formar una nueva entidad singleton.
  • Si un registro se actualiza, puede:

    • Deja de pertenecer a su entidad actual y se convierte en nueva entidad singleton.
    • Dejar de pertenecer a su entidad actual y pasar a formar parte de otra entidad ya existente.
    • Causa que su entidad actual se divida en múltiples entidades.
    • Hacer que otras entidades se unan a la entidad existente actuando como registro de cola.
    • No causan cambios en la composición de la entidad.
  • Si se borra un registro, puede:

    • Provoca que su entidad singleton también sea eliminada.
    • Causa la división de su entidad actual.

Al definir reglas de resiliencia, los ingenieros de datos pueden configurar la forma en que el motor de coincidencia de IBM Master Data Management responde a cada uno de estos escenarios. El motor de correspondencia controla su comportamiento de enlace para alinearse con las reglas de resistencia que haya configurado. Al configurar las reglas de resistencia, puede limitar las fusiones y divisiones de entidades, lo que significa que puede tener una composición de entidades más estable.

Defina reglas de resistencia utilizando la API " resiliency_rules ". Si una regla determinada se establece en " FALSE, el escenario de vinculación de entidades correspondiente no completará sus cambios habituales de vinculación de entidades.

Para obtener el conjunto actual de reglas de resiliencia, ejecute el siguiente comando de la API:

GET /mdm/v1/resiliency_rules

Para actualizar las reglas de resistencia, ejecute el siguiente comando API con una carga útil actualizada:

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": {
   }
 }
}

Ajuste de las puntuaciones de coincidencia en función de la frecuencia

Puedes configurar el algoritmo de coincidencia de IBM Master Data Management para ajustar las puntuaciones de coincidencia en función de lo frecuentes o poco frecuentes que sean los tokens coincidentes en tus datos reales. Esta función utiliza la distribución real de los tokens en tu conjunto de datos, en lugar de estadísticas demográficas genéricas, para tomar decisiones de puntuación más acertadas.

Cuando los algoritmos de coincidencia tratan todas las coincidencias de tokens por igual, la coincidencia con el apellido «Smith» tiene el mismo peso que la coincidencia con «Xylander» En realidad, la coincidencia con un apellido muy común como «Smith» es mucho menos distintiva que la coincidencia con un apellido poco común como «Xylander»

Sin información sobre la frecuencia, el sistema puede:

  • Se dan prioridad a las coincidencias en tokens comunes. Por ejemplo, dos registros con el nombre «John Smith» obtienen una puntuación alta, aunque «John» y «Smith» sean nombres muy comunes y podrían corresponder fácilmente a personas diferentes.
  • Subraya las coincidencias en tokens poco comunes. Por ejemplo, dos registros con el nombre «Subbu Sai Reddy» obtienen una puntuación modesta, a pesar de que, dada la rareza de estos nombres, es muy probable que se refieran a la misma persona.

Configuración de la coincidencia basada en la frecuencia

Para configurar la coincidencia basada en la frecuencia para cualquier función de comparación de tu algoritmo de coincidencia, añade los siguientes parámetros a las funciones comparison del algoritmo de coincidencia. Hay tres parámetros que controlan el comportamiento de la adaptación basada en la frecuencia:

  • min_freq_cut_off - Las fichas más raras que esta frecuencia obtienen una bonificación en la puntuación.
  • max_freq_cut_off - Las palabras que aparecen con mayor frecuencia que esta reciben una penalización en la puntuación.
  • scaling_coefficient (opcional) - Controla la intensidad del ajuste (un valor más alto = un efecto más marcado). El valor predeterminado es 1.

Para habilitar la coincidencia basada en la frecuencia:

  1. Añade los parámetros de configuración min_freq_cut_off, max_freq_cut_off, y, opcionalmente, scaling_coefficient a los métodos de comparación pertinentes en la definición de tu algoritmo.

  2. Ejecute la tarea de cálculo de frecuencia utilizando la siguiente API de IBM Master Data Management :

    POST /mdm/v1/bulk_freq_calculation
    

    La tarea de cálculo de frecuencias analiza los registros existentes y calcula las estadísticas de frecuencia de los tokens.

  3. Si lo desea, puede consultar los resultados del proceso de cálculo de frecuencias ejecutando la siguiente API:

    GET /mdm/v1/token_frequencies 
    

    La respuesta indica qué tokens se consideran valores atípicos y muestra su frecuencia.

  4. Ejecutar la búsqueda de coincidencias. Una vez finalizado el proceso de cálculo de frecuencias, los ajustes de puntuación basados en la frecuencia se aplican automáticamente al ejecutar la coincidencia.

Notas sobre la coincidencia basada en la frecuencia

Ten en cuenta las siguientes notas de uso para la coincidencia basada en la frecuencia:

  • Uso de memoria : las frecuencias de los tokens se cargan en una caché en memoria en los pods correspondientes para permitir búsquedas más rápidas en tiempo de ejecución, lo que consume memoria del contenedor (aproximadamente 90 bytes por cada par de token y frecuencia). Para evitar que los pods de emparejamiento se queden sin memoria, la tarea de generación de frecuencias establece un límite configurable en el número de tokens atípicos que se conservan. Ajusta este parámetro en función del tamaño de tu conjunto de datos y de la memoria disponible en el pod.
  • Actualización de la caché : para volver a calcular las frecuencias de los tokens y aplicar los valores actualizados, asegúrate de que no se produzcan acciones de creación, actualización o eliminación de registros (es decir, que no haya coincidencias en tiempo real) durante al menos 10 minutos, incluido el tiempo de ejecución de la tarea. Este periodo de espera permite que la caché actual caduque y se actualice.

Componentes del algoritmo de coincidencia

Hay tres tipos principales de componentes que definen el algoritmo de emparejamiento de IBM Master Data Management :

Estandarizadores

Como su nombre indica, los estandarizadores definen cómo se estandarizan los datos. La estandarización permite que el algoritmo de coincidencia convierta los valores de diferentes atributos a una representación estandarizada que puede ser procesada por un motor de coincidencias.

El algoritmo de coincidencia utiliza varios estandarizadores. Cada estandarizador es adecuado para procesar tipos de atributos específicos que se encuentran en datos de registro.

Los estandarizadores se definen mediante objetos JSON. La definición de objeto JSON de cada estandarizador contiene tres elementos:

  • label: una etiqueta que identifica este estandarizador.

  • inputs: la lista inputs tiene un elemento, que es un objeto JSON. Ese objeto JSON tiene dos elementos: fields y attributes:

    • fields: la lista de campos a utilizar para la estandarización.
    • attributes: la lista de atributos a utilizar para la estandarización.
  • standardizer_recipe: una lista de objetos JSON en la que cada objeto representa un paso que se debe ejecutar durante el proceso de estandarización del estandarizador asociado. Cada objeto de la lista standardizer_recipe consta de cuatro elementos principales:

    • label: una etiqueta que identifica este paso en la receta de estandarizador.
    • method: el método interno utilizado. Este elemento es sólo para consultas y no debe editarse.
    • inputs -Un único elemento de la lista inputs ha definido un nivel superior.
    • fields: una lista de los campos que se utilizarán para este paso. Generalmente es un subconjunto de todos los campos definidos en la lista inputs de un nivel superior. No todos los pasos necesitan procesar todos los campos de inputs.
    • set_resource: el nombre de un recurso personalizable de tipo set utilizado para este paso.
    • map_resource: el nombre de un recurso personalizable de tipo map utilizado para este paso.

    En función del comportamiento de un paso, es posible que haya más elementos de configuración necesarios en el objeto JSON correspondiente.

Estandarizadores preconfigurados

Los siguientes normalizadores están listos para su uso en IBM Master Data Management. Los estandarizadores preconfigurados también son personalizables.

Estandarizador de nombres de persona

Este estandarizador se utiliza para estandarizar valores de atributo de nombre de persona. Contiene las siguientes recetas, en secuencia:

  1. Upper case -Convierte los valores de campo de entrada para utilizar sus equivalentes en mayúsculas.
  2. Map character -Convierte caracteres de entrada UNICODE en caracteres alfabéticos ingleses equivalentes. Si lo desea, puede definir el mapa en los recursos de IBM Master Data Management.
  3. Tokenizer -Señaliza el valor del campo de entrada en varias señales, basándose en la lista definida de delimitadores.
  4. Parse token - Analiza los valores de los campos de entrada y los divide en diferentes tokens, en función de los valores predefinidos en los recursos IBM y Master Data Management. Por ejemplo, puede utilizar esta receta para analizar los valores de sufijo, prefijo y generación en los campos adecuados.
  5. Length -Descarta las señales que están fuera de un rango de longitud determinado. Los valores mínimos y máximos se definen en los recursos de la Guía de configuración de la plataforma de servicios de seguridad ( IBM ) Master Data Management.
  6. Stop token -Elimina los valores de entrada anónimos, tal como se han configurado.
  7. Pick token -Selecciona un subconjunto (o todos) de las señales como los datos estandarizados que se van a utilizar en la creación de grupos y la comparación.

El estandarizador de nombres de persona utiliza los siguientes recursos de correlación de forma predeterminada:

  • map_character_general -Convierte caracteres de entrada UNICODE en caracteres alfabéticos ingleses equivalentes.
  • person_map_name_alignments : analiza los valores de sufijo, prefijo y generación en los campos adecuados.

El estandarizador de nombres de persona utiliza los siguientes recursos de conjunto de forma predeterminada:

  • person_set_name_aname -Elimina los valores anónimos de nombre de persona.
Estandarizador de nombres de organización

Este estandarizador se utiliza para estandarizar valores de atributo de nombre de organización. Contiene las siguientes recetas, en secuencia:

  1. Upper case -Convierte los valores de campo de entrada para utilizar sus equivalentes en mayúsculas.
  2. Map character -Convierte caracteres de entrada UNICODE en caracteres alfabéticos ingleses equivalentes. Si lo desea, puede definir el mapa en los recursos de IBM Master Data Management.
  3. Stop character -Elimina los caracteres de entrada no deseados de los valores de nombre.
  4. Map token -Genera apodos o nombres alternativos para la entrada dada y almacena la información en un nuevo campo interno separado.
  5. Tokenizer -Señaliza el valor del campo de entrada en varias señales, basándose en la lista definida de delimitadores.
  6. Stop token -Elimina los valores de entrada anónimos, tal como se han configurado.
  7. Acronym -Genera un acrónimo para el nombre de organización dado y almacena la información en un nuevo campo interno separado. Este valor de acrónimo se utiliza durante la comparación para manejar nombres abreviados.
  8. Pick token -Selecciona un subconjunto (o todos) de las señales como los datos estandarizados que se van a utilizar en la creación de grupos y la comparación.

El estandarizador de nombres de organización utiliza los siguientes recursos de mapa de forma predeterminada:

  • map_character_general -Convierte caracteres de entrada UNICODE en caracteres alfabéticos ingleses equivalentes.
  • org_map_name_cnick_name -Genera apodos o nombres alternativos para la entrada dada.

El estandarizador de nombres de organización utiliza los siguientes recursos de conjunto de forma predeterminada:

  • org_set_name_aname -Elimina los valores de nombre de organización anónimos.
Estandarizador de fechas

Este estandarizador se utiliza para estandarizar valores de atributo de fecha. Soporta muchos formatos de fecha diferentes y contiene las siguientes recetas, en secuencia:

  1. Map character -Convierte caracteres de barra inclinada (/) en caracteres de guión (-).
  2. Date function -Convierte entradas de fecha en distintos formatos a un formato estandarizado.
  3. Stop token -Elimina valores de fecha anónimos, tal como se ha configurado.
  4. Parse token -Analiza los valores de campo de entrada en señales diferentes, en función de determinadas expresiones regulares. Por ejemplo, puede utilizar esta receta para analizar una entrada de fecha completa en señales de día, mes y año.
  5. Pick token -Selecciona un subconjunto (o todos) de las señales como los datos estandarizados que se van a utilizar en la creación de grupos y la comparación.

El estandarizador de fechas utiliza los siguientes recursos de correlación de forma predeterminada:

  • map_character_date_separators-Convierte la barra inclinada (/) o cualquier otro carácter separador en caracteres de guión (-).
  • map_date_tokens_year_month_day : analiza el valor de fecha de entrada en campos internos, es decir, birth_year, birth_month y birth_day, basándose en expresiones regulares.

El estandarizador de fechas utiliza los siguientes recursos de conjunto de forma predeterminada:

  • set_date_date -Elimina valores de fecha anónimos.
Estandarizador de género

Este estandarizador se utiliza para estandarizar valores de atributo de género. Contiene las siguientes recetas, en secuencia:

  1. Map character -Convierte caracteres de entrada UNICODE en caracteres alfabéticos ingleses equivalentes. Si lo desea, puede definir el mapa en los recursos de IBM Master Data Management.
  2. Upper case -Convierte los valores de campo de entrada para utilizar sus equivalentes en mayúsculas.
  3. Stop token -Elimina los valores de género de entrada anónimos, tal como se ha configurado.
  4. Map token - Convierte los valores de los tokens de entrada en valores equivalentes, tal y como se ha configurado en los recursos IBM y Master Data Management.
  5. Parse token -Analiza los valores de campo procesados en un campo interno adecuado.
  6. Pick token -Selecciona un subconjunto (o todos) de las señales como los datos estandarizados que se van a utilizar en la creación de grupos y la comparación.

El estandarizador de género utiliza los siguientes recursos de correlación de forma predeterminada:

  • map_character_general -Convierte caracteres de entrada UNICODE en caracteres alfabéticos ingleses equivalentes.
  • map_gender_gender -Correlaciona distintos valores de género de entrada con valores estándar.
  • map_gender_tokens_gender -Analiza el valor de señal de entrada en el campo gender interno basándose en la expresión regular.

El estandarizador de género utiliza los siguientes recursos de conjunto de forma predeterminada:

  • set_gender_anon_gender -Elimina los valores de género de entrada anónimos.
Estandarizador de direcciones

Este estandarizador se utiliza para estandarizar valores de atributo de dirección. Las direcciones pueden tener varios formatos diferentes, en función de los entornos locales. Esta flexibilidad requiere un proceso complejo para convertir las direcciones a un formulario estandarizado. El estandarizador de direcciones contiene las siguientes recetas, en secuencia:

  1. Upper case -Convierte los valores de campo de entrada para utilizar sus equivalentes en mayúsculas.
  2. Map character -Convierte caracteres de entrada UNICODE en caracteres alfabéticos ingleses equivalentes. Si lo desea, puede definir el mapa en los recursos de IBM Master Data Management.
  3. Map token - Convierte los valores de los tokens de entrada en valores equivalentes, tal y como se ha configurado en los recursos IBM y Master Data Management. Por ejemplo, "Estados Unidos de América", "Estados Unidos" y "Estados Unidos" se pueden correlacionar con "Estados Unidos". Esta correlación es común para los valores de campo de país y provincia/estado. Además, los caracteres delimitadores configurados en el recurso se correlacionan con el carácter de espacio.
  4. Tokenizer -Señaliza el valor del campo de entrada en varias señales, basándose en la lista definida de delimitadores.
  5. Stop token -Elimina los valores de entrada anónimos, como los códigos postales, tal como se han configurado.
  6. Keep token : permite sólo la lista definida de valores para un campo determinado. Por ejemplo, puede definir una lista de códigos postales permitidos durante la estandarización. Se eliminarán los valores de entrada que no estén en la lista permitida.
  7. Parse token -Analiza los valores de campo de entrada en los campos internos adecuados en función de determinadas expresiones regulares y valores predefinidos, tal como se ha configurado en los recursos. Puede utilizar esta receta para truncar una señal determinada a una longitud determinada utilizando expresiones regulares. También puede definir diferentes conjuntos de patrones alfanuméricos en forma de expresiones regulares para permitir sólo determinados patrones.
  8. Join fields : une dos o más campos para crear un nuevo valor combinado, asignado a un campo interno. Por ejemplo, los valores de campo latitude y longitude se pueden unir para formar un nuevo campo interno denominado lat_long.
  9. Pick token -Selecciona un subconjunto (o todos) de las señales como los datos estandarizados que se van a utilizar en la creación de grupos y la comparación.

El estandarizador de direcciones utiliza los siguientes recursos de correlación de forma predeterminada:

  • map_character_general -Convierte caracteres de entrada UNICODE en caracteres alfabéticos ingleses equivalentes.
  • map_address_country -Convierte valores de país de entrada en valores equivalentes.
  • map_address_province_state -Convierte los valores de provincia y estado de entrada en valores equivalentes.
  • map_address_delimiter_removal -Correlaciona los caracteres delimitadores configurados en el recurso con el carácter de espacio.
  • map_address_addr_tok -Convierte valores de señal de dirección de entrada en valores equivalentes.
  • map_address_tokens_unit_type_and_number -Analiza el campo de entrada residence_number basándose en la expresión regular en los campos internos, es decir, unit_type y unit_number.
  • map_address_tokens_street_number_name_direction_type -Analiza el campo de entrada address_line1 basado en una expresión regular en campos internos, es decir, street_number, street_name, directiony street_type.
  • map_address_tokens_sub_division -Analiza el campo de entrada address_line2 basándose en la expresión regular en el campo interno sub_division.
  • map_address_tokens_pobox_type_and_number -Analiza el campo de entrada address_line3 basándose en la expresión regular en los campos internos, es decir, pobox_type y pobox.
  • map_address_tokens_city -Analiza el valor de entrada del campo city basándose en la expresión regular.
  • map_address_tokens_province : analiza el valor de entrada del campo province_state basado en la expresión regular en el campo interno province.
  • map_address_tokens_postal_code -Analiza el valor de entrada del campo zip_postal_code basado en una expresión regular en el campo interno postal_code.
  • map_address_tokens_country : analiza el valor de entrada del campo country basándose en la expresión regular.
  • map_address_tokens_latitude -Analiza el valor de entrada del campo latitude_degrees basándose en la expresión regular en el campo interno latitude.
  • map_address_tokens_longtitude -Analiza el valor de entrada del campo longitude_degrees basado en una expresión regular en el campo interno longitude.

El estandarizador de direcciones utiliza los siguientes recursos de conjunto de forma predeterminada:

  • set_address_postal_code -Elimina valores de entrada anónimos para zip_postal_code.
Estandarizador de teléfonos

Este estandarizador se utiliza para estandarizar valores de atributo de teléfono. Contiene las siguientes recetas, en secuencia:

  1. Stop character -Elimina los caracteres de entrada no deseados de los valores de teléfono.
  2. Stop token -Elimina los valores de teléfono anónimos, tal como se ha configurado.
  3. Phone : analiza los números de teléfono de entrada con distintos formatos de distintos entornos locales en un formato común. Esta receta se puede configurar para eliminar códigos de área y códigos de país de los números de teléfono. También puede retener un determinado número de dígitos en un número de teléfono estandarizado.
  4. Parse token : analiza los valores de campo procesados en un campo interno adecuado en función de determinadas expresiones regulares, tal como se ha configurado en los recursos.
  5. Pick token -Selecciona un subconjunto (o todos) de las señales como los datos estandarizados que se van a utilizar en la creación de grupos y la comparación.

El estandarizador de teléfonos utiliza los siguientes recursos de mapa de forma predeterminada:

  • map_phone_tokens_phone : analiza los valores de teléfono en un campo interno basado en expresiones regulares.

El estandarizador de teléfonos utiliza los siguientes recursos de conjunto de forma predeterminada:

  • set_character_phone -Sustituye todos los caracteres que no son alfanuméricos. Le permite especificar expresiones regulares.
  • set_phone_anon_phone -Elimina valores de teléfono anónimos.
Estandarizador de identificación

Este estandarizador se utiliza para estandarizar valores de atributo de identificación. Contiene las siguientes recetas, en secuencia:

  1. Map character -Convierte caracteres de entrada UNICODE en caracteres alfabéticos ingleses equivalentes. Si lo desea, puede definir el mapa en los recursos de IBM Master Data Management.
  2. Upper case -Convierte los valores de campo de entrada para utilizar sus equivalentes en mayúsculas.
  3. Stop character -Elimina los caracteres de entrada no deseados de los valores de identificación.
  4. Stop token -Elimina los valores de entrada anónimos, tal como se han configurado.
  5. Map token - Convierte los valores de los tokens de entrada en valores equivalentes, tal y como se ha configurado en los recursos IBM y Master Data Management.
  6. Parse token : analiza los valores de campo procesados en un campo interno adecuado en función de determinadas expresiones regulares, tal como se ha configurado en los recursos.
  7. Pick token -Selecciona un subconjunto (o todos) de las señales como los datos estandarizados que se van a utilizar en la creación de grupos y la comparación.

El estandarizador de identificación utiliza los siguientes recursos de correlación de forma predeterminada:

  • map_character_general -Convierte caracteres de entrada UNICODE en caracteres alfabéticos ingleses equivalentes.
  • map_identifier_equi_identifier -Convierte valores de señal de entrada en valores equivalentes.
  • map_identifier_tokens_identification_number : analiza los valores de campo procesados en un campo interno adecuado en función de determinadas expresiones regulares, tal como se ha configurado en los recursos.

El estandarizador de identificación utiliza los siguientes recursos de conjunto de forma predeterminada:

  • set_character_identification_number -Elimina los caracteres de entrada no alfanuméricos de los valores de identificación. Le permite especificar expresiones regulares.
  • set_identifier_anonymous -Elimina los valores de identificación anónimos.
Estandarizador de correo electrónico

Este estandarizador se utiliza para estandarizar valores de atributo de correo electrónico. Contiene las siguientes recetas, en secuencia:

  1. Map character -Convierte caracteres de entrada UNICODE en caracteres alfabéticos ingleses equivalentes. Si lo desea, puede definir el mapa en los recursos de IBM Master Data Management.
  2. Upper case -Convierte los valores de campo de entrada para utilizar sus equivalentes en mayúsculas.
  3. Stop token -Elimina los valores de entrada anónimos, tal como se han configurado.
  4. Map token - Convierte los valores de los tokens de entrada en valores equivalentes, tal y como se ha configurado en los recursos IBM y Master Data Management.
  5. Parse token : analiza los valores de campo procesados en un campo interno adecuado en función de determinadas expresiones regulares, tal como se ha configurado en los recursos.
  6. Pick token -Selecciona un subconjunto (o todos) de las señales como los datos estandarizados que se van a utilizar en la creación de grupos y la comparación.

El estandarizador de correo electrónico utiliza los siguientes recursos de correlación de forma predeterminada:

  • map_character_general -Convierte caracteres de entrada UNICODE en caracteres alfabéticos ingleses equivalentes.
  • map_non_phone_equi_non_phone -Convierte valores de señal de entrada en valores equivalentes.
  • map_non_phone_tokens_non_phone -Analiza el campo de entrada email_id basándose en la expresión regular en los campos internos email_local_part y email_domain.

El estandarizador de correo electrónico utiliza los siguientes recursos de conjunto de forma predeterminada:

  • set_non_phone_anon_non_phone -Elimina los valores de correo electrónico anónimos.
Estandarizador de redes sociales

Este estandarizador se utiliza para estandarizar valores de atributos de medios sociales. Contiene las siguientes recetas, en secuencia:

  1. Map character -Convierte caracteres de entrada UNICODE en caracteres alfabéticos ingleses equivalentes. Si lo desea, puede definir el mapa en los recursos de IBM Master Data Management.
  2. Upper case -Convierte los valores de campo de entrada para utilizar sus equivalentes en mayúsculas.
  3. Stop token -Elimina los valores de entrada anónimos, tal como se han configurado.
  4. Map token - Convierte los valores de los tokens de entrada en valores equivalentes, tal y como se ha configurado en los recursos IBM y Master Data Management.
  5. Parse token : analiza los valores de campo procesados en un campo interno adecuado en función de determinadas expresiones regulares, tal como se ha configurado en los recursos.
  6. Pick token -Selecciona un subconjunto (o todos) de las señales como los datos estandarizados que se van a utilizar en la creación de grupos y la comparación.

El estandarizador de medios sociales utiliza los siguientes recursos de mapa de forma predeterminada:

  • map_character_general -Convierte caracteres de entrada UNICODE en caracteres alfabéticos ingleses equivalentes.
  • map_non_phone_equi_non_phone -Convierte valores de señal de entrada en valores equivalentes.
  • map_non_phone_tokens_non_phone -Analiza el campo de entrada social_media_handle en el campo interno social_media_id basándose en expresiones regulares.

El estandarizador de medios sociales utiliza los siguientes recursos de conjunto de forma predeterminada:

  • set_non_phone_anon_non_phone -Elimina los valores anónimos de social_media_id.

Tipos de entidad (bucketing)

Dentro de un único algoritmo de coincidencia, cada tipo de registro puede tener varias definiciones de tipo de entidad (objetos JSON de entity_type). Por ejemplo, en un algoritmo definido para un tipo de registro de persona, es posible que tenga que crear más de una definición de tipo de entidad, como entidad de persona, entidad de unidad familiar, entidad de ubicación y otras.

Cada tipo de entidad se puede utilizar para coincidir y enlazar registros de diferentes maneras. Un tipo de entidad define cómo se empaquetan los registros y se comparan durante el proceso de coincidencia.

Cada definición de tipo de entidad (entity_type) en el algoritmo de coincidencia tiene varios elementos JSON:

  • clerical_review_threshold: los registros que tienen una puntuación de comparación inferior al umbral de revisión administrativa se consideran no coincidencias.

  • auto_link_threshold: los registros que tienen una puntuación de comparación más alta que el umbral de enlace automático se consideran como coincidencias lo suficientemente fuertes como para que coincidan automáticamente.

  • bucket_generators: esta sección contiene la definición de los generadores de grupo configurados para un tipo de entidad. Existen dos tipos de generadores de grupos: grupos y grupos de grupos.

    • Grupos implica agrupar sólo para un atributo. Cada definición de bucket incluye cuatro elementos:

      • label: una etiqueta que identifica el generador de grupos.
      • maximum_bucket_size: un valor que define el tamaño de los grupos grandes. Cualquier hash de grupo con un tamaño de grupo mayor que este valor no se considera para la selección de candidatos durante la coincidencia.
      • inputs: para los grupos, la lista inputs sólo tiene un elemento, que es un objeto JSON. Ese objeto JSON tiene dos elementos: fields y attributes:
        • fields: la lista de campos a utilizar para la agrupación.
        • attributes: la lista de atributos a utilizar para la agrupación.
      • bucket_recipe: una lista de recetas de grupo define los pasos para que el generador de grupos se complete durante el proceso de agrupación. Cada lista de bucket_recipe tiene varios subelementos:
        • label: una etiqueta que identifica el elemento de receta de grupo.
        • method: el método interno utilizado. Este elemento es sólo para consultas y no debe editarse.
        • inputs -Un único elemento de la lista inputs ha definido un nivel superior.
        • fields: una lista de los campos que se utilizarán para este grupo. Generalmente es un subconjunto de todos los campos definidos en la lista inputs de un nivel superior.
        • min_tokens: el número mínimo de señales a utilizar cuando la receta está formando un hash de grupo.
        • max_tokens: el número máximo de señales a utilizar juntos cuando la receta está formando un hash de grupo.
        • count: un límite en el número de hashes de grupo para un único registro que se genera a partir de un generador de grupos. Si un registro genera una gran cantidad de hashes de grupo, sólo se recoge el número de hashes establecido por este elemento.
        • bucket_group: el número de secuencia para un grupo de grupos que produce un hash de grupo. A los pasos intermedios o a las recetas no se les asignará un número de secuencia.
        • order: especifica si las señales se clasifican en orden lexicográfico cuando se combinan varias señales para formar un hash de grupo.
        • maximum_bucket_size: un valor que define el tamaño de los grupos grandes. Este elemento es el mismo que el definido en el nivel del generador del grupo; también tenerlo en el nivel de la receta del grupo le proporciona un control más preciso sobre los grupos grandes individuales.
    • Grupos de grupos implica la agrupación para más de un atributo. Cada definición de bucket_group incluye cinco elementos:

      • label: una etiqueta que identifica el generador de grupos.
      • maximum_bucket_size: un valor que define el tamaño de los grupos grandes. Cualquier hash de grupo con un tamaño de grupo mayor que este valor no se considera para la selección de candidatos durante la coincidencia.
      • inputs: para grupos de grupos, la lista inputs tiene más de un elemento de objeto JSON. Los objetos JSON tienen cada uno dos elementos: fields y attributes:
        • fields: la lista de campos a utilizar para la agrupación.
        • attributes: la lista de atributos a utilizar para la agrupación.
      • bucket_recipe: una lista de recetas de grupo define los pasos para que el generador de grupos se complete durante el proceso de agrupación. Cada lista de bucket_recipe tiene varios subelementos:
        • label: una etiqueta que identifica el elemento de receta de grupo.
        • method: el método interno utilizado. Este elemento es sólo para consultas y no debe editarse.
        • inputs -Un único elemento de la lista inputs ha definido un nivel superior.
        • fields: una lista de los campos que se utilizarán para este grupo. Generalmente es un subconjunto de todos los campos definidos en la lista inputs de un nivel superior.
        • min_tokens: el número mínimo de señales a utilizar cuando la receta está formando un hash de grupo.
        • max_tokens: el número máximo de señales a utilizar juntos cuando la receta está formando un hash de grupo.
        • count: un límite en el número de hashes de grupo para un único registro que se genera a partir de un generador de grupos. Si un registro genera muchos hashes de grupo, sólo se recoge el número de hashes establecido por este elemento.
        • bucket_group: el número de secuencia para un grupo de grupos que produce un hash de grupo. A los pasos intermedios o a las recetas no se les asignará un número de secuencia.
        • order: especifica si las señales se clasifican en orden lexicográfico cuando se combinan varias señales para formar un hash de grupo.
        • maximum_bucket_size: un valor que define el tamaño de los grupos grandes. Este elemento es el mismo que el definido en el nivel de generador de grupo. Ser capaz de definirlo en el nivel de la receta del grupo le proporciona un control más preciso sobre los grupos grandes individuales.
        • set_resource: el nombre de un recurso de tipo set utilizado para una receta de grupo.
        • map_resource: el nombre de un recurso de tipo map utilizado para una receta de grupo.
        • output_fields: si esta receta produce campos nuevos después de completar las funciones de agrupación en los campos de entrada, este elemento contiene una lista de los nombres de los campos generados.
      • bucket_group_recipe: una sección de recetas de grupo de grupos se utiliza normalmente para definir grupos que constan de más de un atributo. Cada elemento de una lista bucket_group_recipe es un objeto JSON que define la construcción para un único grupo de grupos.
        • La lista inputs dentro de bucket_group_recipe tiene más de un elemento, lo que significa que hace referencia a más de un atributo definido en la matriz inputs un nivel superior.
        • El elemento fields es una lista de listas. Cada lista interna de campos está asociada a la lista attributes respectiva.
        • Las listas min_tokens y max_tokens tienen más de un elemento y cada elemente corresponde a la lista attributes respectiva.
      Nota:

      En algunas definiciones de recetas de bucketing, hay una propiedad que se denomina search_only. De forma predeterminada, su valor es false. Si se establece en true, esta propiedad indica que un grupo o grupo de grupos sólo se utiliza para escenarios de búsqueda probabilística y no se utiliza para escenarios de resolución de entidades (coincidentes).

  • compare_methods: definiciones de los métodos de comparación que se han configurado para un tipo de entidad. Cada objeto JSON de compare_methods consta de definiciones de varios métodos compare. El algoritmo de coincidencia añade las puntuaciones de cada definición de método compare para obtener la puntuación de comparación final. Cada objeto JSON del método compare contiene tres elementos:

    • label: una etiqueta que identifica el método compare.
    • methods: una lista de comparadores que forman un grupo de comparación. Cada elemento de esta matriz representa un comparador, destinado a un tipo de atributo coincidente. El algoritmo de coincidencia considera el máximo de las puntuaciones de todos los comparadores de una lista de methods como la puntuación final de este grupo de comparación. Cada definición de comparador incluye dos elementos:
      • inputs: para los comparadores, la lista inputs sólo tiene un elemento, que es un objeto JSON. Ese objeto JSON tiene dos elementos: fields y attributes:
        • fields: la lista de campos a utilizar para la comparación.
        • attributes: la lista de atributos a utilizar para la comparación.
      • compare_recipe: esta lista se utiliza principalmente para definir los pasos de comparación. Normalmente, sólo hay un elemento JSON en esta matriz, lo que representa sólo un paso para realizar la comparación. Este paso tiene cinco elementos:
        • label: una etiqueta que identifica el paso de comparación.
        • method: el método interno utilizado. Este elemento es sólo para consultas y no debe editarse.
        • inputs -Un único elemento de la lista inputs ha definido un nivel superior.
        • fields -Los campos que se van a utilizar para esta comparación de todos los campos definidos en la lista inputs de un nivel superior.
        • comparison_resource: el nombre de un recurso de comparación personalizable utilizado para este paso de comparación.
    • weights: cada comparación que realiza un comparador da como resultado una puntuación numérica de 0 a 10. Este número se denomina distancia o medida de disimilitud. Una distancia de 0 indica que los valores que se comparan son exactamente iguales. Una distancia de 10 indica que son completamente diferentes. Correspondientes a los 11 valores distintos (0-10), se definen 11 ponderaciones para cada comparador. Después de calcular la distancia, el método de comparación determina el valor de ponderación correspondiente de la lista de ponderaciones, lo que da como resultado la puntuación total de comparación. Los ingenieros de datos pueden personalizar las ponderaciones según sea necesario, en función de la calidad de los datos, la distribución u otros factores.
  • record_filter -El elemento de filtrado de registros permite al motor coincidente seleccionar registros para la coincidencia basándose en sus tipos de entidad. Cada definición de filtro de registro contiene un elemento:

    • criteria -Incluye o excluye registros de la consideración de coincidencia basada en condiciones específicas. Este elemento contiene un objeto JSON con un par de clave-valor.

      La clave del objeto JSON criteria es un nombre de atributo. Puede ser uno de los siguientes:

      • El atributo del sistema record_source .
      • Atributo personalizado definido por el usuario de un tipo de atributo simple (serie).

    El valor del objeto JSON criteria es otro objeto JSON que contiene un elemento, que puede ser uno de los siguientes:

    • allowed -Una matriz de valores de serie. Los registros que incluyan cualquiera de estos valores se tendrán en cuenta durante la coincidencia.
    • disallowed -Una matriz de valores de serie. Los registros que incluyan cualquiera de estos valores no se tendrán en cuenta durante la coincidencia.
  • source_level_thresholds -Los umbrales de nivel de origen le permiten definir umbrales de autoenlace y de revisión administrativa de origen a origen. Los umbrales de nivel de origen alteran temporalmente los valores de umbral globales predeterminados. Cada configuración de umbral de nivel de origen contiene una colección de orígenes con umbrales predeterminados específicos de origen opcionales o una colección de pares de umbrales de origen a origen que permiten definir distintos umbrales para cada origen. Para obtener más información, consulte Configuración de umbrales de coincidencia específicos de origen en el tema Ajuste avanzado de algoritmos de coincidencia .

Recursos de bucketing

Las definiciones de correlación utilizan los siguientes recursos de correlación de forma predeterminada:

  • person_map_name_nickname -Genera apodos o nombres alternativos para una entrada de nombre de persona determinada.
  • org_map_name_cnick_name -Genera apodos o nombres alternativos para una entrada de nombre de organización determinada.

Las definiciones de creación de grupos utilizan los siguientes recursos de conjunto de forma predeterminada:

  • person_set_name_bkt_anon -Elimina los valores anónimos de nombre de persona.
  • org_set_name_acname -Elimina los valores de nombre de organización anónimos.

Funciones de comparación

Las funciones de comparación, a veces denominadas comparadores, son uno de los componentes clave del algoritmo de coincidencia. El motor de comparación utiliza las funciones de comparación para comparar datos de registro durante el proceso de comparación. Básicamente, la coincidencia de registros implica comparar distintos tipos de atributos entre datos de registros diferentes.

Para muchos de los tipos de atributos más habituales en los ámbitos de personas, organizaciones y ubicaciones, el motor de correspondencias de IBM Master Data Management incluye métodos de comparación preconfigurados.

En IBMMaster Data Management, las funciones de comparación utilizan un método de comparación conocido como vectores de características. En IBM Master Data Management hay diferentes definiciones de características personalizables que se utilizan para distintas funciones de comparación. Cada comparación da como resultado una medida de distancia (un vector) que muestra lo diferentes que son dos valores de atributo dados.

En el algoritmo de coincidencia, a cada valor de distancia discreta se le asigna una ponderación que determina con qué fuerza considerar ese valor. El peso se combina con la distancia para generar una puntuación de comparación. El algoritmo de coincidencia añade todas las puntuaciones de comparación juntas para llegar a una puntuación de comparación final para la comparación global de registro a registro.

Acerca de las características

Una característica representa los detalles de nivel fino de una función de comparación. Los distintos tipos de atributos utilizan distintos tipos de comprobaciones de similitud, lo que significa que sus características también varían.

Las definiciones de características dictan los tipos de funciones internas utilizadas para cada función de comparación. Los ejemplos de funciones internas incluyen coincidencia exacta, distancia de edición, apodo, equivalente fonético o coincidencia inicial.

Recursos de comparación

Cada método de comparación incluye recursos que contienen los detalles de sus operaciones de comparación internas.

Cada uno de los tipos de comparación predeterminados tiene sus propios recursos. Consulte cada tipo de comparación para obtener detalles de los recursos asociados.

Para las comparaciones en tipos de atributos personalizados que tienen un tipo coincidente de generic, el método de comparación genérico incluye los recursos siguientes:

  • compare_spec_generic -En el algoritmo generado, el formato de nombre de este recurso es recordType_entityType_compare_spec_generic.

Comparaciones de nombres de persona

Los diferentes campos dentro de un atributo de nombre de persona se manejan de forma diferente. Para campos como el prefijo, el sufijo y los valores de generación, se comprueba la exactitud o la no coincidencia. Otros campos, como el nombre de pila, el apellido y el segundo nombre, utilizan principalmente las características siguientes:

  • Coincidencia exacta
  • Coincidencia de apodo
  • Distancia de edición
  • Coincidencias de iniciales
  • Coincidencia fonética
  • Colocación incorrecta de señales
  • Señales adicionales
  • Valores perdidos

El método de comparación de nombre de persona incluye los recursos siguientes:

  • person_compare_spec_name -En el algoritmo generado, el formato de nombre de este recurso es recordType_entityType_ compare_spec_name. Por ejemplo: person_person_entity_compare_spec_name.

Comparaciones de nombres de organización

Para los nombres de organización, hay un campo que contiene el nombre de empresa completo. Este campo se compara utilizando principalmente las características siguientes:

  • Coincidencia exacta
  • Coincidencia de apodo
  • Distancia de edición
  • Coincidencias de iniciales
  • Coincidencia fonética
  • Colocación incorrecta de señales
  • Señales adicionales
  • Valores perdidos

Para los nombres de organización, los acrónimos y apodos también se comparan para la exactitud.

El método de comparación de nombres de organización incluye los recursos siguientes:

  • org_compare_spec_name -En el algoritmo generado, el formato de nombre de este recurso es recordType_entityType_ compare_spec_name.

Comparaciones de fecha

Para las fechas, normalmente hay tres campos para comparar: día, mes y año.

El campo year se compara utilizando las características siguientes:

  • Exactitud
  • Distancia de edición
  • No coincidente
  • Faltan

Los campos day y month se comparan utilizando las características siguientes:

  • Exactitud
  • No coincidente
  • Faltan

El comparador de fechas también comprueba si los campos day y month se han transpuesto debido a las diferencias de entorno local en el formato de fecha.

El método de comparación de fechas incluye los recursos siguientes:

  • compare_spec_date -En el algoritmo generado, el formato de nombre de este recurso es recordType_entityType_ compare_spec_date.

Comparaciones de género

El atributo de género se compara utilizando las características siguientes:

  • Exactitud
  • No coincidente

El método de comparación de género incluye los siguientes recursos:

  • compare_spec_gender -En el algoritmo generado, el formato de nombre de este recurso es recordType_entityType_ compare_spec_gender.

Comparaciones de direcciones

Los distintos campos dentro de un atributo de dirección se manejan de forma diferente.

Los campos como país, ciudad, provincia/estado y subdivisión se comparan utilizando las características siguientes:

  • Exactitud
  • Equivalencia
  • Distancia de edición
  • No coincidente
  • Faltan

Los campos de código postal se comparan utilizando las características siguientes:

  • Exactitud
  • Distancia de edición
  • No coincidente
  • Faltan

Los campos como número de calle, nombre de calle, tipo de calle, número de unidad y dirección se comparan utilizando las características siguientes:

  • Exactitud
  • Equivalencia
  • Coincidencias de iniciales
  • Distancia de edición
  • No coincidente
  • Colocación incorrecta de señales
  • Faltan

El método de comparación de direcciones incluye los recursos siguientes:

  • compare_spec_address -En el algoritmo generado, el formato de nombre de este recurso es recordType_entityType_ compare_spec_address.

Comparaciones telefónicas

Los atributos de número de teléfono se comparan utilizando las características siguientes:

  • Coincidencia exacta
  • Distancia de edición
  • No coincidente

El método de comparación telefónica incluye los siguientes recursos:

  • compare_spec_phone -En el algoritmo generado, el formato de nombre de este recurso sería recordType_entityType_ compare_spec_phone.

Comparaciones de identificador

Los atributos de número de identificación se comparan utilizando las características siguientes:

  • Coincidencia exacta
  • Distancia de edición
  • No coincidente

El método de comparación de identificadores incluye los recursos siguientes:

  • compare_spec_identifier -En el algoritmo generado, el formato de nombre de este recurso es recordType_entityType_ compare_spec_identifier.

Comparaciones de correo electrónico

Los atributos de correo electrónico constan de dos partes: el ID exclusivo (antes del símbolo @) y el dominio de correo electrónico (después del símbolo @). Tanto el ID como las partes de dominio se comparan, por separado, utilizando las características siguientes:

  • Coincidencia exacta
  • Distancia de edición
  • No coincidente

El resultado de las dos comparaciones se combina de una manera ponderada para producir una puntuación de comparación global.

El método de comparación de correo electrónico incluye los recursos siguientes:

  • compare_spec_email -En el algoritmo generado, el formato de nombre de este recurso es recordType_entityType_ compare_spec_email.

Comparaciones de redes sociales

Los atributos de descriptor de contexto de medios de comunicación sociales se comparan utilizando las características siguientes:

  • Coincidencia exacta
  • Distancia de edición
  • No coincidente

El método de comparación de redes sociales incluye los siguientes recursos:

  • compare_spec_non_phone -En el algoritmo generado, el formato de nombre de este recurso es recordType_entityType_ compare_spec_non_phone.

Distancia de edición

El motor de coincidencia de IBM Master Data Management calcula la distancia de edición como una de las funciones internas durante la comparación y la coincidencia de diversos atributos. La distancia de edición es una medida de cuán diferentes son dos series entre sí. Se calcula contando el número de cambios necesarios para transformar una serie a la otra.

Existen diferentes formas de definir la distancia de edición utilizando diferentes conjuntos de operaciones de serie. Por defecto, IBM Master Data Management utiliza una función de distancia de edición estándar que se encuentra disponible públicamente en la bibliografía especializada. Como alternativa, puedes optar por utilizar una función especializada de distancia de edición de IBM Master Data Management.

  • La función de distancia de edición estándar proporciona un mejor rendimiento del motor de coincidencias. Por este motivo, es la configuración de comparación predeterminada para todos los atributos excepto para el tipo de atributo Teléfono.

  • La función de distancia de edición especializada se crea para casos de uso de hiperprecisión. Esta opción tiene en cuenta los errores tipográficos o de tener un aspecto similar, tales como 8 y B, 0 y O, 5 y S, o 1 y I. Cuando hay una discrepancia en dos valores comparados basados en caracteres de aspecto similar, la medida de disimilaridad asignada es menor que la que asignaría una función de distancia de edición estándar. Como resultado, estos tipos de discrepancias no son penalizados con la misma fuerza por la función especializada.

    Importante: la función de distancia de edición especializada incluye algunos cálculos complejos. Como resultado, la elección de esta opción tiene un impacto en el rendimiento del sistema durante el proceso de coincidencia.

Para obtener información sobre cómo personalizar el algoritmo de coincidencia, incluido el uso de la API para personalizar la distancia de edición, consulte Personalización y fortalecimiento del algoritmo de coincidencia.

Más información