0 / 0
영어 버전 문서로 돌아가기
IBM Match 360 REST API를 사용하여 고급 일치 알고리즘 튜닝
마지막 업데이트 날짜: 2024년 11월 28일
IBM Match 360 REST API를 사용하여 고급 일치 알고리즘 튜닝

고급 레벨의 사용자 정의를 수행하기 위해 IBM Match 360 REST API를 사용하여 일치 알고리즘을 구성하고 튜닝할 수 있습니다.

API에 대해 작업할 때 일치하는 작업을 실행하기 전에 명시적으로 알고리즘을 배치해야 합니다. api-model 마이크로서비스 API내에서 POST /mdm/v1/algorithms/{record_type} 메소드는 제공된 속성 및 필드를 기반으로 일치 알고리즘을 생성합니다.

메소드의 페이로드 (payload) 에서 완전히 정의된 일치 알고리즘을 제공할 수 있는 PUT /mdm/v1/algorithms/{record_type} 메소드를 사용하여 일치 알고리즘을 추가로 사용자 정의할 수 있습니다.

다음은 자동 링크 임계값과 일치하는 속성 및 필드 세트를 정의하는 POST /mdm/v1/algorithms/{record_type} 의 샘플 페이로드입니다.

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

인증 지침 및 각 방법에 대한 전체 설명서를 포함하여 IBM Match 360 REST API 및 해당 SDK에 대한 자세한 내용은 IBM Match 360 API 참조를 참조하세요.

주의: API를 통해서도 일치 알고리즘을 업데이트할 때마다 이후에 일치를 실행하여 일치 결과에 반영된 변경사항을 확인해야 합니다.

이 주제의 내용:

다차원 비교 필터 구성

다차원 비교 필터를 정의하여 일치 알고리즘을 더 세부적으로 조정하십시오. 다차원 필터는 레코드 전체에서 속성을 비교하고 사용자가 정의하는 기준에 따라 일치하는 스코어 및 가중치를 위 또는 아래로 조정할 수 있습니다. 다차원 비교 필터는 일치하는 결과에서 위양성 또는 위음성 일치의 양을 줄일 수 있습니다.

다차원 비교 필터를 사용하여 기계 학습 기반 일치 결과를 대체하는 사용자 고유의 결정적 일치 규칙을 포함할 수도 있습니다.

다차원 비교 필터 생성

일치 알고리즘에서 다차원 비교 필터를 생성하려면 REST API 명령을 사용하여 일치 엔진 구성을 업데이트하십시오.

  1. IBM Match 360 API 인터페이스에 액세스하고 인증하십시오.

  2. 다음 예제에서와 같이 필터를 정의하는 POST /mdm/v1/algorithms/{record_type} 페이로드를 지정하십시오.

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

    샘플 페이로드에서 false_positive_filter 은 사용자 정의 필터의 이름입니다. 이는 필터 이름을 포함하는 페이로드의 각 속성에 적용됩니다.

샘플 API 페이로드는 가중치 및 페널티가 기본값 (0) 인 false_positive_filter 를 포함하는 알고리즘을 생성합니다.

선택적으로 조직의 요구사항을 충족하도록 가중치 및 페널티를 사용자 정의한 후 PUT /mdm/v1/algorithms/{record_type} API를 사용하여 업데이트된 알고리즘을 배치할 수 있습니다.

필터를 정의하는 매개변수 이해

다차원 비교 필터를 정의하는 구성 매개변수를 이해하려면 이전 절에서 작성된 false_positive_filter 의 예제를 고려하십시오.

API 명령 GET /mdm/v1/algorithms/{record_type}를 사용하여 현재 알고리즘을 검색하십시오.

이전 섹션에서 해당 예제 페이로드를 사용하여 POST 요청을 제출한 후 알고리즘 구성의 다음 섹션이 생성되었습니다.

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

예제 false_positive_filter 섹션에는 다차원 비교 필터를 정의하는 표준 매개변수가 포함되어 있습니다.

  • filter_recipe -이 섹션에는 각 입력에 대해 일치하는 가중치를 정의하는 데 필요한 레시피를 제공하는 매개변수의 배열이 포함되어 있습니다.

    • inputs filter_recipe.inputs 섹션에는 이 필터 레시피가 적용되는 입력의 색인이 포함되어 있습니다. 이 값은 inputs 섹션에 나열된 비교 메소드의 순서에 해당하는 숫자 값입니다. 예를 들어, 예제에서 1address_compare 메소드에 해당하고 2date_compare 메소드에 해당하며 3pername_compare 메소드에 해당합니다.
    • weights - weights 섹션은 3차원 비교를 위해 각 입력의 무게를 측정하는 방법을 정의하는 요소의 배열입니다. weights 섹션에는 입력에 대한 distancesvalues 정의가 포함되어 있습니다. 정의되지 않은 입력에 대한 기본 가중치는 0 입니다.
  • inputs -이 섹션에는 일치하는 속성에 대한 비교 메소드가 포함되어 있습니다. 이러한 방법은 filter_recipe 섹션에서 정의하는 거리 및 가중치를 사용합니다.

  • max_distance -선택사항 (표시되지 않음). 이 매개변수는 최대 거리를 정의합니다. 기본 최대 거리는 5입니다. 이는 filter_recipe.weights.values 매개변수가 6개의 요소 ("values":[0,1,2,3,4,5]) 를 포함할 수 있음을 의미합니다.

사용자 정의 필터 구성

다차원 비교 필터와 함께 사용할 기존 비교 메소드를 사용자 정의하려면 다음을 수행하십시오.

  1. 현재 알고리즘을 검색하십시오.

    GET /mdm/v1/algorithms/{record_type}
    
  2. 필요에 따라 알고리즘을 업데이트하십시오. 예를 들어, 다음을 수행할 수 있습니다.

    • weights 섹션에서 요소를 추가하거나 업데이트하여 나열된 입력에 대한 가중치를 사용자 정의하십시오.
    • max_distance 매개변수를 추가하여 최대 거리를 정의하십시오.
    • 기본 일치 가중치 대신 이 필터를 사용할 입력으로 비교 메소드를 추가하십시오.
  3. 일치하는 알고리즘을 업데이트된 버전으로 겹쳐쓰십시오.

    PUT /mdm/v1/algorithms/{record_type}
    

예제 1: 최대 거리를 9로 설정하고 다음과 같이 서로 다른 입력 및 거리 조합에 대한 사용자 정의 가중치 및 페널티를 지정하려면 다음 샘플 페이로드를 사용하십시오. -input1 distance=0, input2 distance=0, input3 distance = [0,1,2,3,4,5,6,7,8, 9]. 이 경우, 거리 조합 [0,0, 3] 은 15의 점수를 제공한다.

  • input1 distance=1, input2 distance=0, input3 distance = [0,1,2,3,4,5,6,7,8, 9]. 이 경우, 거리 조합 [1,0, 9] 은 -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"
  }
}

예제 2: 다음 샘플 페이로드에서와 같이 사용자 고유의 사용자 정의된 비교 메소드를 추가하고 전체 일치 점수에 대한 컨트리뷰션에서 제외되도록 구성할 수 있습니다. 이 경우 사용자 정의 메소드는 다차원 비교 필터에서만 사용됩니다.

다음 예제에서 given_name_only_compare 필터는 overall_score_contributionfalse로 설정합니다.

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

거리 편집 기능 전환하기

IBM Match 360 일치 엔진은 다양한 속성의 비교 및 일치 중에 내부 기능 중 하나로 편집 거리를 계산합니다. 거리 편집은 두 개의 문자열이 서로 어떻게 분리되어 있는지를 측정하는 것입니다. 이는 한 문자열을 다른 문자열로 변환하는 데 필요한 변경 수를 계산하여 계산됩니다.

표준 거리 편집 기능 또는 특수화된 기능 중에서 선택할 수 있습니다. 표준 편집 거리는 일치하는 동안 더 빠른 성능을 보장하기 위한 기본 구성입니다. 편집 거리에 대한 자세한 정보는 IBM Match 360 일치 알고리즘을 참조하십시오.

활성 거리 편집 기능을 변경하려면 REST API 명령을 사용하여 일치하는 엔진 구성을 업데이트하십시오.

  1. IBM Match 360 API 인터페이스에 액세스하고 인증하십시오.

  2. 비교 함수 compare_spec_resource에 대한 기존 구성 JSON 파일을 검색하십시오.

    GET /mdm/v1/compare_spec_resources/{resource_name}
    
  3. 로컬 시스템에서 JSON을 편집하여 "similar_characters_enabled": true 행을 추가하십시오.(또는 기본 거리 편집 설정으로 다시 전환하려는 경우 제거하십시오.)

  4. 편집된 JSON을 업로드하여 IBM Match 360구성을 업데이트하십시오.

    PUT /mdm/v1/compare_spec_resources/{resource_name}
    

글루 레코드 임계값 구성

IBM Match 360 일치 알고리즘을 업데이트하기 위해 API 명령을 사용하여 글루 레코드 임계값을 정의할 수 있습니다.

IBM Match 360 이 일치를 통해 엔티티를 형성할 때 일부 낮은 품질의 레코드가 글루 레코드로 작동할 수 있습니다. 글루 레코드는 글루와 같은 다른 많은 레코드에 달라붙기 때문에 이름을 얻습니다. 글루 레코드에는 자세한 속성 값이 거의 없거나 전혀 없으므로 여러 다른 레코드와 일치하는 것으로 표시될 수 있습니다. 글루 레코드의 일치 동작은 실수로 그리고 잘못하여 하나의 낮은 품질 글루 레코드만 공통으로 갖는 매우 큰 엔티티를 작성할 수 있습니다.

단순화된 예로, "John Smith" 와 같은 이름 이외의 속성이 없는 낮은 품질의 레코드를 고려하십시오. 이와 같은 레코드는 데이터 세트의 다른 "John Smith" 와 쉽게 일치할 수 있으며, 그렇지 않으면 일치하지 않는 다른 레코드가 단일 "John Smith" 엔티티에 포함되도록 합니다.

데이터 엔지니어는 각 엔티티 유형에 대한 일치 알고리즘에서 글루 레코드 임계값을 설정하여 글루 레코드가 크고 일치하지 않는 엔티티를 형성하는 것을 방지할 수 있습니다.

글루 레코드 임계값이 구성되면 IBM Match 360 은 자체 일치 점수를 사용하여 글루 레코드를 식별합니다. 자체 일치 점수는 레코드를 자체와 비교하여 얻은 일치 점수입니다. 높은 자체 일치 점수는 레코드에 우수한 수의 고품질 일치 속성이 있음을 표시합니다.

IBM Match 360 은 자체 일치 점수와 글루 레코드 임계값의 값이 엔티티에 있는 가운데 레코드의 자체 일치 점수보다 작은지 여부를 확인하여 글루 레코드를 식별합니다. 값이 더 작으면 레코드가 글루 레코드로 간주되고 엔티티에 포함되지 않습니다.

글루 레코드 임계값은 선택사항이며 기본적으로 설정되지 않습니다. 각 엔티티 유형의 글루 레코드 임계값은 별도로 정의해야 합니다.

글루 레코드 임계값을 설정하려면 다음을 수행하십시오.

  1. IBM Match 360 API 인터페이스에 액세스하고 인증하십시오.

  2. 제공된 레코드 유형에 대한 기존 구성 일치 알고리즘 JSON 파일을 검색하십시오.

    GET /mdm/v1/algorithms/{record_type}
    
  3. 로컬 시스템에서 JSON을 편집하여 적절한 엔티티 유형 아래에 glue_threshold 매개변수를 추가하십시오. 숫자 임계값을 제공하십시오. (기존 글루 레코드 임계값을 제거하려면 매개변수를 삭제하십시오.) 예를 들어,

    locale: {...}
    encryption: {...}
    standardizers: {...}
    entity_types:
      person_entity:
        bucket_generators: {...}
        auto_link_threshold: 65
        clerical_review_threshold: 55
        glue_threshold: 20
        compare_methods: {...}  
    
  4. IBM Match 360 일치 알고리즘을 업데이트하십시오.

    PUT /mdm/v1/algorithms/{record_type}
    

소스 특정 일치 임계값 구성

데이터 엔지니어는 다양한 레코드 소스에 특정한 일치 알고리즘 내에서 직접 검토 임계값 및 자동 링크 임계값을 정의할 수 있습니다. 이를 통해 조직은 소스의 신뢰성에 따라 일치를 다르게 처리할 수 있습니다.

조직에는 각각 다른 속성을 사용하고 다양한 품질 레벨을 갖는 다른 소스의 레코드가 있을 수 있습니다. 레코드 소스 레벨 일치 임계값을 구성하여 신뢰할 수 있는 소스의 데이터보다 신뢰할 수 있는 소스의 데이터를 더 많이 평가하거나 일부 소스가 일치에 참여하지 않도록 제외할 수 있습니다. 일치에서 제외된 소스는 여전히 시스템에서 참조 소스로 사용할 수 있습니다.

소스 레벨 임계값은 선택사항이며 기본적으로 설정되지 않습니다.

소스 레벨 임계값은 데이터 모델의 각 엔티티 유형에 대해 별도로 정의되어야 합니다. 각 엔티티 유형에는 고유한 일치 알고리즘 정의가 있습니다.

소스 레벨 일치 임계값을 설정하려면 다음을 수행하십시오.

  1. IBM Match 360 API 인터페이스에 액세스하고 인증하십시오.

  2. 구성할 엔티티 유형에 대한 기존 일치 알고리즘 구성 파일 (JSON 형식) 을 검색하십시오.

    GET /v1/algorithms/{record_type}
    
  3. 로컬 시스템에서 JSON을 편집하여 적절한 엔티티 유형 (예: person_entity) 아래에 source_level_thresholds 오브젝트를 추가하십시오. 예를 들어,

    "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]
    
               }
    
           }
    
        }
    
    }
    

    이 예에 대한 자세한 정보 및 소스 레벨 임계값 JSON 오브젝트를 정의하는 방법에 대한 지침은 소스 레벨 임계값을 정의하는 샘플 JSON 오브젝트를 참조하십시오.

  4. IBM Match 360 일치 알고리즘을 업데이트하십시오.

    PUT /v1/algorithms/{record_type}
    

소스 레벨 임계값에 대한 자세한 정보는 다음 하위 절을 참조하십시오.

소스 레벨 임계값의 샘플 JSON 오브젝트

다음 JSON 예제에서는 개인 엔티티에 대한 소스 레벨 임계값을 정의하는 일치 알고리즘 구성 파일의 스니펫을 볼 수 있습니다.

"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]

           }

       }

    }

}

앞의 예에서,

  • 기본 글로벌 자동 링크 임계값은 150입니다.
  • 기본 글로벌 직접 검토 임계값은 120입니다.
  • src0, src1, src2, src3src4 는 소스 이름의 예입니다.
  • source_level_thresholds 오브젝트 내에서 소스별 임계값은 두 개의 소스 ( src0src1) 에 대해 정의됩니다.

일반 지침:

  • source_level_thresholds 오브젝트의 각 소스에서 default 매개변수를 사용하여 해당 소스의 기본 글로벌 일치 임계값을 선택적으로 겹쳐쓸 수 있습니다.
  • 각 소스 아래에서 srcxsrc 특성 아래에 소스 대 소스 일치 임계값의 배열을 정의할 수 있습니다. 이러한 임계값은 나열된 소스의 레코드를 비교할 때 사용됩니다.
  • 배열 내에서 대괄호 안에 제공되는 값의 형식은 [autolink-threshold, clerical-threshold]입니다. 따라서 [136, 120] 는 지정된 소스 대 소스 비교의 경우 자동 링크 임계값이 136이고 직접 검토 임계값이 120임을 표시합니다.
  • 두 값이 모두 제공되면 자동 링크 임계값은 항상 직접 검토 임계값보다 높아야 합니다.
  • 값이 null로 제공되면 해당 임계값을 사용할 수 없습니다.
  • 쌍의 두 값이 모두 null로 제공되면 두 소스 간의 일치 및 링크가 모두 사용 안함으로 설정됩니다.
  • 두 값이 모두 null 이고 제공된 두 소스가 동일한 경우 소스는 참조 소스 만으로 간주됩니다. 예를 들어, src0 는 이전 예제 JSON에서 src0 에 대한 참조 소스입니다. 참조 소스의 레코드만 있는 엔티티는 실행 가능하지 않습니다.

소스 레벨 임계값 결과 평가

사용자 정의 일치 알고리즘에서 소스 레벨 임계값을 구성한 경우 다음 REST API 메소드를 사용하여 스코어링 세부사항을 가져오십시오.

POST /v1/compare/?details=debug&crn={CRN}&entity_type={entity_type}&record_type={record_type}

이 메소드에서 리턴되는 정보를 사용하여 결과를 평가하고 필요한 경우 소스 레벨 임계값 구성을 미세 조정하십시오.

소스 레벨 임계값 및 쌍 검토

쌍 검토로 생성된 튜닝 권장사항을 승인하는 경우 소스 레벨 임계값을 겹쳐쓸 수 있습니다. 조직에서 IBM Match 360 쌍 검토 기능을 사용하거나 사용하여 지능형 튜닝 권장사항을 생성하려는 경우 소스 레벨 임계값을 정의하기 전에 쌍 검토 태스크를 완료하는 것이 가장 좋습니다.

사용자 정의 일치 알고리즘에서 이미 소스 레벨 임계값을 정의한 경우 IBM Match 360 CR (mdm-cr) 을 편집하여 소스 레벨 임계값 기능을 사용 안함으로 설정하십시오. 다음 명령을 사용하여 CR에서 소스 레벨 임계값을 사용 불가능하게 하십시오.

oc patch mdm mdm-cr --type=merge -p '{"spec": {"mdm_matching": {"features": {"source_level_thresholds": {"enabled": false}}}}}' 

변경을 수행한 후 CR이 자체적으로 조정되는 데 20-30분이 소요될 수 있습니다. 업데이트된 구성을 적용하려면 mdm-matching 서비스 팟 (Pod) 도 다시 시작해야 합니다. 필요한 경우 이러한 팟 (Pod) 을 수동으로 다시 시작해야 합니다.

소스 레벨 임계값을 다시 사용하려면 다음 명령을 실행하십시오.

oc patch mdm mdm-cr --type=merge -p '{"spec": {"mdm_matching": {"features": {"source_level_thresholds": {"enabled": true}}}}}' 

다음 단계

자세한 정보

상위 주제: 일치 알고리즘 사용자 정의 및 강화

일반적인 AI 검색 및 응답
이러한 응답은 제품 문서의 컨텐츠를 기반으로 하는 watsonx.ai 의 대형 언어 모델에 의해 생성됩니다. 자세히 알아보기