Para conseguir un nivel avanzado de personalización, puede utilizar la API REST IBM Match 360 para configurar y ajustar el algoritmo de coincidencia.
Al trabajar con la API, debe desplegar explícitamente el algoritmo antes de ejecutar los trabajos coincidentes. Dentro de la API de microservicio de api-model
, el método POST /mdm/v1/algorithms/{record_type}
genera un algoritmo de coincidencia basado en los atributos y campos proporcionados.
Puede personalizar adicionalmente el algoritmo de coincidencia utilizando el método PUT /mdm/v1/algorithms/{record_type}
, que le permite proporcionar un algoritmo de coincidencia totalmente definido en la carga útil del método.
A continuación se muestra una carga útil de ejemplo para POST /mdm/v1/algorithms/{record_type}
que define el umbral de enlace automático y un conjunto de atributos y campos coincidentes:
{"person_entity":{"auto_link_threshold":0.4,"matching_attributes":[{"attributes":["legal_name"]},{"attributes":["primary_residence"]}, {"attributes":["mobile_telephone"]},
{"attributes":["birth_date"]}, {"attributes":["gender"]}, {"attributes":["personal_email"]}]}}
Para obtener más información sobre la API REST ' IBM ' Match 360 y los SDK correspondientes, incluidas las instrucciones de autenticación y la documentación completa de cada método, consulte la sección ' IBM Match 360 API reference' .
Contenido de este tema:
Configuración de filtros de comparación multidimensional
Ajuste el algoritmo de coincidencia aún más mediante la definición de filtros de comparación multidimensional. Los filtros multidimensionales pueden comparar atributos entre registros y ajustar puntuaciones coincidentes y ponderaciones hacia arriba o hacia abajo en función de los criterios que defina. Los filtros de comparación multidimensionales pueden reducir la cantidad de falsos positivos o falsos negativos en sus resultados coincidentes.
También puede utilizar filtros de comparación multidimensionales para incluir sus propias reglas de coincidencia deterministas que alteren temporalmente los resultados de coincidencia basados en el aprendizaje automático.
Generación de un filtro de comparación multidimensional
Para generar un filtro de comparación multidimensional en el algoritmo coincidente, actualice la configuración del motor coincidente utilizando los mandatos de la API REST:
Acceda y autentique la interfaz de API de IBM Match 360 .
Especifique una carga útil de
POST /mdm/v1/algorithms/{record_type}
que defina un filtro, como en el ejemplo siguiente:{"person_entity":{"auto_link_threshold":0.4,"matching_attributes":[{"attributes":["legal_name"], "post_filter_methods": ["false_positive_filter"]},{"attributes":["primary_residence"], "post_filter_methods": ["false_positive_filter"]}, {"attributes":["mobile_telephone"]}, {"attributes":["birth_date"], "post_filter_methods": ["false_positive_filter"]}, {"attributes":["gender"]}, {"attributes":["personal_email"]}]}}
En la carga útil de ejemplo,
false_positive_filter
es el nombre del filtro personalizado. Se aplica a cada atributo de la carga útil que incluye el nombre de filtro.
La carga útil de la API de ejemplo generará un algoritmo que contiene un false_positive_filter
en el que las ponderaciones y penalizaciones son el valor predeterminado, que es 0.
Opcionalmente, puede personalizar los pesos y las penalizaciones para cumplir los requisitos de la organización y, a continuación, desplegar el algoritmo actualizado utilizando la API de PUT /mdm/v1/algorithms/{record_type}
.
Descripción de los parámetros que definen filtros
Para comprender los parámetros de configuración que definen los filtros de comparación multidimensional, tenga en cuenta el ejemplo del false_positive_filter
creado en la sección anterior.
Recupere el algoritmo actual utilizando el mandato de API GET /mdm/v1/algorithms/{record_type}
.
Después de enviar la solicitud POST en la sección anterior, con la carga útil de ejemplo correspondiente, se ha generado la sección siguiente en la configuración del algoritmo:
{
"false_positive_filter": {
"filter_recipe": [
{
"method": "FilterMethod.MultiDimFilter",
"inputs": [1,2,3],
"label": "Multi-Dim filter",
"weights": [
{
"distances": [0,0],
"values": [0,0,0,0,0,0]
}
]
}
],
"inputs": [
{"compare_method": "address_compare"},
{"compare_method": "date_compare"},
{"compare_method": "pername_compare"}
],
"label": "false_positive_filter"
}
}
La sección false_positive_filter
de ejemplo incluye los parámetros estándar que definen filtros de comparación multidimensional:
filter_recipe
-Esta sección contiene una matriz de parámetros que proporcionan la receta necesaria para definir ponderaciones coincidentes para cada entrada.inputs
. La secciónfilter_recipe.inputs
contiene un índice de las entradas a las que se aplica esta receta de filtro. Son valores numéricos que corresponden al orden de los métodos de comparación listados en la seccióninputs
. Por ejemplo, en el ejemplo,1
corresponde al métodoaddress_compare
,2
corresponde al métododate_compare
y3
corresponde al métodopername_compare
.weights
-La secciónweights
es una matriz de elementos que definen cómo se pesa cada entrada para la comparación tridimensional. La secciónweights
incluye definicionesdistances
yvalues
para las entradas. El peso predeterminado es0
para cualquier entrada que no esté definida.
inputs
-Esta sección contiene los métodos de comparación para los atributos coincidentes. Estos métodos utilizarán las distancias y pesos que defina en la secciónfilter_recipe
.max_distance
-Opcional (no se muestra). Este parámetro define la distancia máxima. La distancia máxima predeterminada es 5, lo que significa que el parámetrofilter_recipe.weights.values
puede incluir 6 elementos ("values":[0,1,2,3,4,5]
).
Configuración de filtros personalizados
Para personalizar los métodos de comparación existentes para utilizarlos con un filtro de comparación multidimensional:
Recuperar el algoritmo actual:
GET /mdm/v1/algorithms/{record_type}
Actualice el algoritmo según sea necesario. Por ejemplo, puede:
- Añada o actualice elementos en la sección
weights
para personalizar los pesos para las entradas listadas. - Defina la distancia máxima añadiendo un parámetro
max_distance
. - Añada métodos de comparación como entradas que utilizarán este filtro en lugar de las ponderaciones coincidentes predeterminadas.
- Añada o actualice elementos en la sección
Sobrescriba el algoritmo coincidente con la versión actualizada:
PUT /mdm/v1/algorithms/{record_type}
Ejemplo 1: Utilice la siguiente carga útil de ejemplo si desea establecer la distancia máxima en 9 y especificar pesos y penalizaciones personalizados para diferentes combinaciones de entradas y distancias de la forma siguiente: -input1 distance=0, input2 distance=0, input3 distance = [0,1,2,3,4,5,6,7,8, 9]. En este caso, la combinación de distancias [0,0, 3] da una puntuación de 15.
- input1 distance=1, input2 distance=0, input3 distance = [0,1,2,3,4,5,6,7,8, 9]. En este caso, la combinación de distancia [1,0, 9] da una puntuación penalizada de -30.
{
"false_positive_filter": {
"filter_recipe": [
{
"method": "FilterMethod.MultiDimFilter",
"max_distance": 9,
"inputs": [1,2,3],
"label": "Multi-Dim filter",
"weights": [
{
"distances": [0,0],
"values": [0,-5,-10,-15,-20,-25,-30,-30,-30,-30]
},
{
"distances": [1,0],
"values": [0,-5,-10,-15,-20,-25,-30,-30,-30,-30]
}
]
}
],
"inputs": [
{"compare_method": "address_compare"},
{"compare_method": "date_compare"},
{"compare_method": "pername_compare"}
],
"label": "false_positive_filter"
}
}
Ejemplo 2: Puede añadir sus propios métodos de comparación personalizados y configurarlos para que se excluyan de la contribución a la puntuación de coincidencia global, como en la siguiente carga útil de ejemplo. En este caso, los métodos personalizados sólo los utilizaría el filtro de comparación multidimensional.
En el ejemplo siguiente, el filtro given_name_only_compare
establece overall_score_contribution
en false
.
{
"given_name_only_compare": {
"methods": [
{
"inputs": [
{
"attributes": [
"legal_name"
],
"fields": [
"given_name"
]
}
],
"compare_recipe": [
{
"comparison_resource": "person_person_entity_person_compare_spec_name",
"method": "CompareMethod.NameCompare",
"inputs": [
1
],
"label": "Given Name Only Match",
"fields": [
"given_name"
]
}
]
}
],
"overall_score_contribution" : false,
"label": "Given Name Only Compare",
"weights": [1,0,0,0,0,0,0,0,0,0,0]
}
}
Conmutación de la función de distancia de edición
El motor de coincidencia de IBM Match 360 calcula la distancia de edición como una de las funciones internas durante la comparación y coincidencia de varios 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.
Puede elegir entre la función de distancia de edición estándar o una especializada. La distancia de edición estándar es la configuración predeterminada para garantizar un rendimiento más rápido durante la coincidencia. Para obtener más información sobre la distancia de edición, consulte IBM Match 360 algoritmos coincidentes.
Para cambiar la función de editar distancia activa, actualice la configuración del motor coincidente utilizando los mandatos de la API REST:
Acceda y autentique la interfaz de API de IBM Match 360 .
Recupere el archivo JSON de configuración existente para la función de comparación,
compare_spec_resource
:GET /mdm/v1/compare_spec_resources/{resource_name}
En la máquina local, edite el JSON para añadir la línea
"similar_characters_enabled": true
(o elimínela si desea volver a la configuración de distancia de edición predeterminada).Actualice la configuración de IBM Match 360 subiendo el JSON editado:
PUT /mdm/v1/compare_spec_resources/{resource_name}
Configuración de un umbral de registro de pegamento
Puede definir un umbral de registro de pegamento utilizando mandatos de API para actualizar el algoritmo de coincidencia IBM Match 360 .
Cuando IBM Match 360 forma entidades a través de la coincidencia, algunos registros de baja calidad pueden actuar como registros de pegamento. Los registros de pegamento reciben su nombre porque se adhieren a muchos otros registros como el pegamento. Puesto que los registros de pegamento incluyen pocos o ningún valor de atributo detallado, pueden parecer que coinciden con muchos registros diferentes. El comportamiento coincidente de un registro de pegamento puede crear de forma inadvertida e incorrecta entidades muy grandes que solo tienen un registro de pegamento de baja calidad en común.
Como ejemplo simplificado, considere un registro de baja calidad que no tenga más atributos que un nombre, como por ejemplo "John Smith". Un registro como este puede coincidir fácilmente con cualquier otro "John Smith" del conjunto de datos, lo que hace que otros registros que de otro modo no coinciderían se incluyan en una única entidad "John Smith".
Al establecer un umbral de registro de pegamento en el algoritmo de coincidencia para cada tipo de entidad, los ingenieros de datos pueden impedir que los registros de pegamento provoquen la formación de entidades grandes y poco coincidentes.
Cuando se configura un umbral de registro de pegamento, IBM Match 360 identifica los registros de pegamento utilizando su puntuación de autocoincidencia. Una puntuación de autocoincidencia es la puntuación de coincidencia que se consigue comparando un registro con sí mismo. Una puntuación de autocoincidencia alta indica que el registro tiene un buen número de atributos coincidentes de alta calidad.
IBM Match 360 identifica los registros de pegamento comprobando si su puntuación de autocoincidencia más el valor del umbral de registro de pegamento es menor que la puntuación de autocoincidencia del registro central en la entidad. Si es menor, que el registro se considera un registro de pegamento, y no se incluirá en la entidad.
Los umbrales de registro de pegamento son opcionales y no se establecen de forma predeterminada. El umbral de registro de pegamento de cada tipo de entidad debe definirse por separado.
Para establecer un umbral de registro de pegamento:
Acceda y autentique la interfaz de API de IBM Match 360 .
Recupere el archivo JSON del algoritmo de coincidencia de configuración existente para el tipo de registro especificado:
GET /mdm/v1/algorithms/{record_type}
En la máquina local, edite el JSON para añadir el parámetro
glue_threshold
bajo el tipo de entidad adecuado. Proporcione un valor de umbral numérico. (Suprima el parámetro si desea eliminar un umbral de registro de pegamento existente.) Por ejemplo:locale: {...} encryption: {...} standardizers: {...} entity_types: person_entity: bucket_generators: {...} auto_link_threshold: 65 clerical_review_threshold: 55 glue_threshold: 20 compare_methods: {...}
Actualice el algoritmo de coincidencia IBM Match 360 :
PUT /mdm/v1/algorithms/{record_type}
Configuración de umbrales coincidentes específicos del origen
Los ingenieros de datos pueden definir umbrales de revisión administrativa y umbrales de enlace automático dentro del algoritmo de coincidencia que son específicos de diversos orígenes de registro. Esto permite a su organización manejar la coincidencia de forma diferente en función de la confianza que tenga el origen.
Su organización puede tener registros de distintos orígenes que utilicen atributos diferentes y tengan distintos niveles de calidad. Al configurar umbrales de coincidencia de nivel de origen de registro, puede ponderar los datos de orígenes de confianza más que los datos de orígenes de menos confianza, o incluso excluir algunos orígenes de la participación en la coincidencia. Los orígenes que se excluyen de la coincidencia se pueden seguir utilizando como orígenes de referencia en el sistema.
Los umbrales de nivel de origen son opcionales y no se establecen de forma predeterminada.
Los umbrales de nivel de origen deben definirse por separado para cada tipo de entidad del modelo de datos. Como recordatorio, cada tipo de entidad tiene su propia definición de algoritmo coincidente.
Para configurar umbrales coincidentes de nivel de origen:
Acceda y autentique la interfaz de API de IBM Match 360 .
Recupere el archivo de configuración de algoritmo coincidente existente (en formato JSON) para el tipo de entidad que desea configurar.
GET /v1/algorithms/{record_type}
En la máquina local, edite el JSON para añadir el objeto
source_level_thresholds
bajo el tipo de entidad adecuado (por ejemplo,person_entity
). Por ejemplo:"person_entity":{ "auto_link_threshold":150, "clerical_review_threshold":120, "source_level_thresholds": { "src0": { "default":[165, 150], “srcxsrc” : { "src0": [null, null], "src1": [160, 130], "src2": [123, 111], "src3": [null, null] } }, "src1": { “srcxsrc” : { "src1": [160, 130], "src2": [123, 111], "src3": [136, 120], "src4": [120, null] } } } }
Para obtener más información sobre este ejemplo y orientación sobre cómo definir el objeto JSON de umbral de nivel de origen, consulte Objeto JSON de ejemplo que define umbrales de nivel de origen.
Actualice el algoritmo de coincidencia IBM Match 360 :
PUT /v1/algorithms/{record_type}
Para obtener más información sobre los umbrales de nivel de origen, consulte las subsecciones siguientes:
- Objeto JSON de ejemplo para umbrales de nivel de origen
- Evaluación de resultados de umbral de nivel de origen
- Umbrales de nivel de origen y revisiones de pares
Objeto JSON de ejemplo para umbrales de nivel de origen
En el siguiente ejemplo JSON, puede ver un fragmento de código del archivo de configuración de algoritmo coincidente que define umbrales de nivel de origen para la entidad Persona.
"person_entity":{
"auto_link_threshold":150,
"clerical_review_threshold":120,
"source_level_thresholds": {
"src0": {
"default":[165, 150],
“srcxsrc” : {
"src0": [null, null],
"src1": [160, 130],
"src2": [123, 111],
"src3": [null, null]
}
},
"src1": {
“srcxsrc” : {
"src1": [160, 130],
"src2": [123, 111],
"src3": [136, 120],
"src4": [120, null]
}
}
}
}
En el ejemplo anterior:
- El umbral de enlace automático global predeterminado es 150.
- El umbral de revisión administrativa global predeterminado es 120.
- src0, src1, src2, src3y src4 son ejemplos de nombres de origen.
- Dentro del objeto
source_level_thresholds
, los umbrales de origen por origen se definen para dos orígenes: src0 y src1.
Orientación general:
- En cada origen del objeto
source_level_thresholds
, puede alterar temporalmente de forma opcional los umbrales de coincidencia global predeterminados para ese origen utilizando el parámetrodefault
. - En cada origen, puede definir una matriz de umbrales coincidentes de origen a origen bajo la propiedad
srcxsrc
. Estos umbrales se utilizan al comparar registros de los orígenes listados. - Dentro de la matriz, los valores proporcionados entre corchetes tienen el formato siguiente:
[autolink-threshold, clerical-threshold]
. Por lo tanto,[136, 120]
indica que para la comparación de origen a origen dada, el umbral de enlace automático es 136 y el umbral de revisión administrativa es 120. - Cuando se proporcionan ambos valores, el umbral de enlace automático siempre debe ser mayor que el umbral de revisión administrativa.
- Si se proporciona un valor como
null
, dicho umbral se inhabilita. - Si ambos valores de un par se proporcionan como
null
, se inhabilitarán tanto la coincidencia como el enlace entre los dos orígenes. - Cuando ambos valores son
null
y los dos orígenes dados son los mismos, el origen se considera solo un origen de referencia . Por ejemplo,src0
es el origen de referencia parasrc0
en el JSON de ejemplo anterior. Cualquier entidad que solo tenga registros de fuentes de referencia no es viable.
Evaluación de resultados de umbral de nivel de origen
Si ha configurado umbrales de nivel de origen en el algoritmo de coincidencia personalizado, utilice el siguiente método de API REST para obtener detalles de puntuación.
POST /v1/compare/?details=debug&crn={CRN}&entity_type={entity_type}&record_type={record_type}
Utilice la información devuelta por este método como ayuda para evaluar los resultados y, si es necesario, ajustar la configuración de umbral de nivel de origen.
Umbrales de nivel de origen y revisiones de pares
Los umbrales de nivel de origen se pueden sobrescribir si acepta las recomendaciones de ajuste generadas por revisiones de pares. Si su organización utiliza, o tiene intención de utilizar, la capacidad de revisión de pares de IBM Match 360 para generar recomendaciones de ajuste inteligentes, es mejor completar las tareas de revisión de pares antes de definir los umbrales de nivel de origen.
Si ya ha definido umbrales de nivel de origen en algoritmos de coincidencia personalizados, inhabilite la característica de umbral de nivel de origen editando el CR IBM Match 360 (mdm-cr
). Utilice el mandato siguiente para inhabilitar los umbrales de nivel de origen en el CR:
oc patch mdm mdm-cr --type=merge -p '{"spec": {"mdm_matching": {"features": {"source_level_thresholds": {"enabled": false}}}}}'
El CR puede tardar entre 20 y 30 minutos en reconciliarse después de realizar un cambio. Los pods de servicio de mdm-matching
también deben reiniciarse para aplicar la configuración actualizada. Si es necesario, estos pods deben reiniciarse manualmente.
Para volver a habilitar los umbrales de nivel de origen, ejecute el mandato siguiente:
oc patch mdm mdm-cr --type=merge -p '{"spec": {"mdm_matching": {"features": {"source_level_thresholds": {"enabled": true}}}}}'
Próximos pasos
Más información
- Algoritmos de coincidencia de IBM Match 360 with Watson
- Servicios de API disponibles en IBM Match 360
- Exploración de datos maestros
- Configuración de datos maestros
- Gestión de datos maestros
Tema padre: Personalización y fortalecimiento del algoritmo de coincidencia