// MRA - 지능형 이름 비교를 위한 Match Rating Approach 알고리즘
이름 간의 수치적 유사도를 계산합니다.
앞 3자와 뒤 3자를 사용하는 최적화된 코드.
이름 길이에 따라 임계값을 조정합니다.
Match Rating Approach (MRA)는 1977년 Western Airlines에서 개발한 음성 알고리즘입니다. 이름을 인코딩할 때 첫 글자를 제외한 모음을 제거하고, 연속된 자음을 하나로 줄이며, 결과를 최대 6자(더 길 경우 앞 3자 + 뒤 3자)로 축약합니다. 비교 단계에서는 코드의 앞과 뒤에서 문자를 비교하여 유사도를 계산하고, 두 코드의 전체 길이에 따라 매칭 임계값을 조정합니다.
인코딩 단계:
1. 첫 글자를 제외한 모음 제거
2. 연속된 자음 중복 제거
3. 길이가 6을 초과하면 앞 3자 + 뒤 3자만 유지
예시:
CATHERINE → CTHRN
C[a]TH[e]R[i]N[e] → CTHRN
KATHERINE → KTHRN
K[a]TH[e]R[i]N[e] → KTHRN
SMITH → SMTH
SM[i]TH → SMTH
매칭 임계값:
합 ≤ 4: 5자 일치 필요
합 5–7: 4자 일치 필요
합 8–11: 3자 일치 필요
합 ≥ 12: 2자 일치 필요
CTHRN vs KTHRN:
합 = 10, 필요한 일치 수 = 3
실제: 4자 일치 → MATCH!
Match Rating Approach (MRA)는 Western Airlines가 1977년에 승객 이름 매칭을 위해 개발한 음성 알고리즘입니다. 인코딩 단계와 비교 단계를 결합하여 이름의 음성 코드와 유사도 점수를 모두 제공합니다.
Soundex나 Metaphone이 코드만 생성하는 것과 달리, MRA에는 유사도 점수를 계산하는 정교한 비교 알고리즘이 포함되어 있습니다. 이름 길이에 따라 매칭 임계값을 조정하므로 다양한 이름 유형에 대해 더 유연하고 정확합니다.
유사도 점수는 두 개의 MRA 코드의 앞과 뒤를 비교할 때 일치하는 문자 수를 나타냅니다. 필요한 최소 점수는 코드의 총 길이에 따라 달라지며, 짧은 이름일수록 매치로 간주되기 위해 더 높은 유사도가 필요합니다.
MRA는 고객 데이터베이스, 족보 연구, 사기 탐지, 레코드 링크 등 정교한 이름 매칭이 필요한 애플리케이션에 적합합니다. 철자가 다른 잠재적 중복 레코드를 찾을 때 특히 유용합니다.