스페셜 브리핑/AI-Ready Data

정제 중복 제거 엔터티 해소 실무

AI Daily Special · Part 3 · 17/36

정제 중복 제거 엔터티 해소 실무

규칙과 확률 점수를 결합해 후보를 만들고 자동 승인 검토 보류 구간과 오탐 미탐 검증표를 설계할 수 있다.

16회에서 서로 다른 스키마와 식별자를 공통 의미로 맞추고 원천 ID를 보존했다. 이제 비슷한 레코드가 같은 고객이나 상품인지 판단한다. 엔터티 해소(Entity Resolution)는 레코드가 같은 대상을 가리키는지 판별해 추적 가능한 공통 ID로 연결하는 과정이다. 가장 비슷한 값을 곧바로 합치지 않는다. 후보를 제한하고 증거를 점수화한 뒤 오류 비용에 맞는 임계값과 사람 검토로 오탐과 미탐을 관리한다.

1 정제와 중복 제거와 엔터티 해소를 분리한다

정제(Cleaning)는 값의 표현과 유효성을 고치는 작업이다. 중복 제거(Deduplication)는 한 데이터셋의 반복 레코드를 찾고, 레코드 연결(Record Linkage)은 여러 데이터셋 사이의 동일 대상을 잇는다. 둘 다 엔터티 해소의 판단을 쓴다. 원문과 원천 키는 삭제하지 않고 비교용 파생 필드를 만든다.

문자열이 비슷하다는 사실은 동일 엔터티의 충분조건이 아니다. OpenRefine은 문자 구성만 보는 클러스터링이 오타와 불일치를 찾는 데 유용하지만 의미를 아는 조정 자체는 아니라고 설명한다. [S8] PostgreSQL의 pg_trgm도 3글자 묶음의 공통 정도로 문자열 유사도를 계산하고 임계값을 제공한다. [S9] 이름 주소 상품명이 비슷한 후보를 찾는 신호일 뿐 동일 고객이나 같은 판매 규격의 증명으로 쓰지 않는다.

판단 기준

정제는 비교 가능하게 만들고 엔터티 해소는 같은 대상인지 판단한다. 비교용 표준값과 원문 원천 ID를 함께 보존해야 판단을 되돌리고 재검증할 수 있다.

2 정확 규칙으로 시작하고 후보 생성을 따로 설계한다

먼저 오탐 위험이 낮은 결정적 매칭(Deterministic Matching)을 만든다. 예를 들어 승인된 공급사 ID와 GTIN과 포장 단위가 모두 같고 유효 기간이 겹치면 자동 연결할 수 있다. 다만 ONS 사례처럼 matchkey의 모든 조건이 맞아야 하는 규칙은 설명하기 쉽지만, 오타나 결측 때문에 실제 같은 대상을 놓칠 수 있다. 여러 규칙에서 충돌하거나 비고유 결과가 나오면 사람 검토로 보낼 수 있다. [S2]

다음은 블로킹(Blocking), 즉 모든 쌍을 비교하지 않고 가능성 있는 후보 쌍만 만드는 단계다. 레코드가 n개면 가능한 쌍은 대략 n의 제곱으로 늘어난다. Splink는 블로킹 규칙으로 후보를 만든 뒤 확률 모델로 점수화하는 두 단계를 제시한다. [S5] 상품 후보는 공급사와 카테고리, 이름 앞부분 조합 또는 바코드 일부처럼 서로 보완적인 여러 규칙의 합집합으로 만든다.

판단 기준

비교 후보를 만드는 문과 같은 대상을 승인하는 문은 다르다. 블로킹에서는 놓치지 않는 쪽을, 최종 승인에서는 잘못 합치지 않는 쪽을 각각 측정한다.

3 여러 증거를 점수로 묶되 임계값을 업무 비용으로 정한다

정확 규칙 밖의 후보에는 이름 주소 날짜 코드 같은 필드별 일치 증거를 모은다. 확률적 연결은 한 필드의 유사도보다 여러 특징의 증거 균형으로 동일 가능성을 계산한다. Splink는 Fellegi-Sunter 모델을 구현하며 점수 또는 확률에 임계값을 적용할 수 있다고 설명한다. 오탐을 줄여야 하면 더 높은 임계값, 참쌍을 더 많이 찾으려면 더 낮은 임계값을 고려한다. [S4] 점수를 절대적 진실이나 보편적으로 보정된 확률로 해석하지 않는다.

하나의 숫자로 바로 병합하지 말고 세 구간을 권고한다. 강한 고유 식별자와 일관된 보조 증거가 있는 상단은 자동 승인, 경계 구간은 현업 검토, 하단은 자동 보류 또는 비연결로 둔다. 자동 승인과 검토 진입 임계값은 각각 버전으로 관리한다. 필드 누락, 희귀 값, 원천별 오류 패턴이 바뀌면 같은 점수의 의미도 달라질 수 있다.

판단 기준

임계값은 모델의 고정 정답이 아니라 업무 결정이다. 자동 승인과 검토와 보류 구간을 분리하고 각 구간의 예상 오류와 처리 비용을 함께 기록한다.

4 오탐과 미탐을 다른 표본으로 검증한다

오탐(False Positive)은 다른 대상을 같은 것으로 연결한 오류이고, 미탐(False Negative)은 같은 대상을 연결하지 못한 오류다. 정밀도는 승인한 연결 중 참연결의 비율이고 재현율은 전체 참연결 중 찾아낸 비율이다. ONS는 단순 매칭률이 연결 수만 보여 줄 뿐 품질을 말하지 않으므로 정밀도와 재현율을 보고해야 한다고 명시한다. [S1] ISO IEC 5259-2도 분석과 기계학습 데이터 품질을 측정하고 보고할 수 있는 특성을 강조한다. [S10]

승인된 연결에서는 점수 구간 원천 규칙 상품군 시간대별로 층화 표본을 뽑아 오탐을 찾는다. 미탐은 거절 경계와 미연결 잔여 레코드에서 별도 검색한다. Splink 평가 기능도 사람 라벨과 예측 점수를 비교해 오탐 미탐 정밀도와 재현율을 계산한다. [S6] 자동 승인만 검수하면 미탐과 블로킹 누락을 볼 수 없다.

판단 기준

매칭률 대신 정밀도와 재현율을 함께 본다. 연결된 쌍과 미연결 잔여를 모두 표본화하고 사람 라벨의 불확실성과 표본 밖 미탐 가능성을 제한으로 남긴다.

5 쌍의 점수에서 군집과 운영 이력까지 검증한다

쌍별 연결이 통과해도 군집 전체가 안전하다는 뜻은 아니다. A와 B, B와 C가 연결됐다고 A와 C가 반드시 같은 대상은 아니다. 특히 한 개의 잘못된 다리 연결은 두 큰 군집을 합칠 수 있다. Splink의 그래프 지표 안내는 두 하위 군집을 잇는 bridge, 비정상적으로 큰 군집, 낮은 밀도를 오탐 또는 누락을 살필 신호로 제시한다. [S7]

다온커머스는 고객과 상품을 섞지 않고 엔터티 유형별로 군집화한다. 상품에서는 예상 최대 포장 변형 수, 서로 양립할 수 없는 GTIN과 유효 기간, 한 공급사 안의 중복 코드를 검사한다. 고객에서는 승인된 목적과 접근권한 범위에서만 검토한다. 가장 큰 군집, 낮은 밀도, 단일 다리와 새 원천 유입 후 급증한 군집을 우선 표본화한다.

판단 기준

쌍의 정답률만 보지 말고 군집 구조와 변경 영향을 본다. 링크를 삭제 가능한 결정 기록으로 저장하면 잘못된 병합을 되돌리고 하위 산출물을 재생성할 수 있다.

엔터티 해소 운영 전 확인할 8가지

  1. 1 엔터티 범위 고객 상품 조직 등 판별 단위와 서로 다른 단위를 명시
  2. 2 원문 보존 원천 ID 원문 비교용 표준값과 변환 버전을 분리
  3. 3 정확 규칙 고유 식별자와 보조 증거로 낮은 오탐 자동 연결 정의
  4. 4 후보 생성 복수 블로킹 규칙 후보 수와 알려진 참쌍 포함률 측정
  5. 5 점수와 구간 필드별 증거 자동 승인 검토 보류 임계값 버전 기록
  6. 6 쌍 품질 정밀도 재현율과 원천 점수 구간별 오탐 미탐 표본
  7. 7 군집 품질 크기 밀도 다리와 양립 불가능 속성 검사
  8. 8 되돌리기 링크 이력 분리 승인과 하위 산출물 재처리 범위 보존

마무리와 다음 회차

정제된 값과 문자열 유사도는 엔터티 해소의 입력이지 결론이 아니다. 정확 규칙으로 안전한 연결을 먼저 만들고 여러 블로킹 규칙으로 후보를 넓힌 뒤, 설명 가능한 증거 점수와 세 구간 임계값으로 결정한다. 승인된 연결과 미연결 잔여를 모두 표본화해 정밀도와 재현율을 보고하고 큰 군집과 다리 연결을 점검하자. 원본과 링크 이력을 보존하면 오연결을 되돌릴 수 있다. 다음 18회에서는 데이터 코드 설정 환경과 품질 결과를 함께 버전으로 고정해 재현성과 모니터링을 완성한다.

다음 18회차 버전 관리 재현성 품질 모니터링 2026년 9월 18일

출처 및 읽을거리

확인일 2026-09-16 KST · 본문의 운영 설계는 실무 권고이며 다온커머스와 모든 수치는 교육용 가정이다.

2026-09-16-ai-ready-data-ep17-entity-resolution.pdf
1.6 MB
이 글이 유용했다면 링크를 공유해 보세요.