// MRA - Match Rating Approach do inteligentnego porównywania nazw
Oblicza numeryczną miarę podobieństwa między nazwami.
Zoptymalizowane kody wykorzystujące pierwsze 3 i ostatnie 3 znaki.
Dostosowuje próg w zależności od długości nazwy.
Match Rating Approach (MRA) to algorytm fonetyczny opracowany w 1977 roku przez Western Airlines. Koduje nazwy poprzez usuwanie samogłosek (z wyjątkiem pierwszej litery), eliminowanie podwójnych spółgłosek i skracanie wyniku do 6 znaków (pierwsze 3 + ostatnie 3, jeśli nazwa jest dłuższa). W fazie porównania oblicza podobieństwo, porównując znaki od początku i końca, a próg dopasowania jest dostosowywany na podstawie łącznej długości kodów.
Kroki kodowania:
1. Usuń samogłoski (oprócz pierwszej)
2. Usuń powtarzające się spółgłoski
3. Zachowaj pierwsze 3 + ostatnie 3, jeśli długość > 6
Przykłady:
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
Progi dopasowania:
Suma ≤ 4: wymagane 5 dopasowań
Suma 5–7: wymagane 4 dopasowania
Suma 8–11: wymagane 3 dopasowania
Suma ≥ 12: wymagane 2 dopasowania
CTHRN vs KTHRN:
Suma = 10, wymagane 3 dopasowania
W rzeczywistości: 4 dopasowania → MATCH!
Match Rating Approach (MRA) to algorytm fonetyczny opracowany przez Western Airlines w 1977 roku do dopasowywania nazwisk pasażerów. Łączy fazę kodowania i porównywania, zapewniając zarówno kod fonetyczny, jak i ocenę podobieństwa między nazwami.
W przeciwieństwie do Soundex lub Metaphone, które zwracają tylko kody, MRA zawiera zaawansowany algorytm porównujący, który oblicza oceny podobieństwa. Dostosowuje próg dopasowania w zależności od długości nazw, dzięki czemu jest bardziej elastyczny i dokładny.
Ocena podobieństwa to liczba zgodnych znaków podczas porównywania dwóch kodów MRA od początku i końca. Wymagana minimalna wartość zależy od łącznej długości kodów — krótsze nazwy wymagają większego podobieństwa, aby zostać uznane za dopasowanie.
MRA jest idealny do zastosowań wymagających precyzyjnego dopasowywania nazw: bazy danych klientów, badania genealogiczne, wykrywanie nadużyć i łączenie rekordów. Jest szczególnie pomocny przy wyszukiwaniu potencjalnych duplikatów o różnej pisowni.