// Refined Soundex - 여러 변형을 지원하는 고급 음성 인코딩
표준 Soundex 알고리즘보다 더 정확합니다.
Refined, Apache, SQL Server 변형을 지원합니다.
비슷한 소리를 가진 자음을 지능적으로 그룹화합니다.
Refined Soundex는 더 정교한 문자 매핑을 사용하여 원래 Soundex 알고리즘을 개선하고, 음성적 유사성을 더 잘 포착합니다. 첫 글자는 그대로 유지하고, 이후 자음은 소리 특성에 따라 숫자 그룹으로 인코딩됩니다. 이 알고리즘은 표준 Refined 버전, Apache Commons 구현, SQL Server SOUNDEX 함수와 호환되는 변형의 세 가지 버전을 제공합니다.
Encoding process:
1. Keep first letter
2. Map consonants to digits
3. Remove duplicates
4. Pad with zeros to length
Refined mappings:
B,P � 1
F,V � 2
C,K,S � 3
G,J � 4
Q,X,Z � 5
D,T � 6
L � 7
M,N � 8
R � 9
Examples:
THOMPSON � T81938
T-H[0]-O-M[8]-P[1]-S[9]-O-N[3][8]
JACKSON � J23938
J-A-C[2]-K[3]-S[9]-O-N[3][8]
Apache variant:
Additional mappings for W,Y
SQL variant:
Original Soundex mappings
Refined Soundex는 원래 Soundex 알고리즘을 확장한 것으로, 이름에 대해 더 정확한 음성 인코딩을 제공합니다. 실제 발음을 더 잘 반영하는 향상된 자음 매핑을 사용합니다.
Refined Soundex는 더 많은 숫자 그룹(0–9)을 사용하고, 보다 정교한 자음 매핑을 적용합니다. 예를 들어 M과 N을 서로 다른 코드로 구분하고, 원래 알고리즘보다 더 많은 자음 소리를 구분합니다.
최대한의 정확도가 필요하다면 표준 Refined 변형을 사용하세요. Apache Commons Codec 라이브러리와의 호환성이 필요하다면 Apache 변형을, SQL Server의 SOUNDEX 함수와 비교해야 한다면 SQL Server 변형을 선택하세요.
Refined Soundex는 일반적으로 영어 이름, 특히 미묘한 발음 차이가 있는 경우에 더 좋은 정확도를 제공합니다. 비영어권 이름이나 특수한 사용 사례에서는 Double Metaphone이나 Daitch-Mokotoff와 같은 다른 알고리즘이 더 적합할 수 있습니다.