Soundex

S Vikipedije, slobodne enciklopedije
(preusmereno sa Saundeks)

Saundeks je fonetski algoritam za indeksiranje imena po zvuku, kao što su izgovorena u engleskom jeziku. Cilj je da homofone reči budu kodirane na isti način tako da mogu biti uparene uprkos manjim razlikama u spelovanju. Algoritam uglavnom kodira suglasnike; samoglasnik neće biti kodiran ukolike je u pitanju prvo slovo. Saundeks je najpoznatiji fonetski algoritam (delom zato što je standardni deo popularnog softvera za baze podataka kao što su PostgreSQL, MySQL, MS SQL Server i Oracle i često je korišćen (netačno) kao sinonim za "fonetski algoritam". Poboljšanja za Saundeks su osnova za mnoge fonetske algoritme.

Istorijat[uredi | uredi izvor]

Saundeks su razvili Robert C. Rasel i Margaret K. Odel i patentirali ga 1918. godine. Varijacija zvana Američki Saundeks je korišćena tridesetih godina za retrospektivnu analizu popisa stanovništva u SAD od 1890. do 1920. godine. Saundeks kod je postao popularan 60ih godina kada je bio subjekt više novinarskih članaka, i posebno kada je opisan u Umetnosti Kompjuterskog Programiranja Donalda Knuta.

Nacionalna Uprava za Arhive i Dokumentaciju (NARA) održava trenutni pravilnik za zvaničnu implementaciju Saundeksa koju koristi Američka vlada. Ova pravila kodiranja su dostupna od NARA, po zahtevu, u formi Generalnog Informacionog Lista 55, "Korišćenje Saundeksa za popis stanovništva".

Američki Saundeks[uredi | uredi izvor]

Saundeks kod za ime sadrži slovo praćeno sa 3 cifre: slovo je prvo slovo imena, a cifre kodiraju preostale suglasnike. Suglasnici koji zvuče slično dele iste cifre, na primer, usneni suglasnici B, F, P, i V su svi kodirani brojem 1.

Tačne vrednosti mogu biti ovakve:

  1. Zadrži prvo slovo imena i odbaci sva ostala pojavljivanja a, e, i, o, u, y, h, w.
  2. Zameni suglasnike ciframa na sledeći način (posle prvog slova):
    • b, f, p, v => 1
    • c, g, j, k, q, s, x, z => 2
    • d, t => 3
    • l => 4
    • m, n => 5
    • r => 6
  3. Ako su dva ili više slova sa istim brojem susedna u originalnom imenu (pre prvog koraka), zadrži samo prvo slovo; takođe dva slova sa istim brojem razdvojena sa 'h' ili 'w' se kodiraju kao jedan broj, dok se dva slova razdvojena samoglasnikom kodiraju sa dva broja. Ovo pravilo se primenjuje i na prvo slovo.
  4. Ponavljaj prethodni korak dok ne budeš imao jedno slovo i 3 broja. Ako imaš premalo slova u svojoj reči kojima ne možeš dodeliti 3 broja, dodaj nule. Ako imaš više od 3 slova, zadrži samo prva 3 broja.

Koristeći ovaj algoritam, i "Robert" i "Rupert" vraćaju istu nisku "R163", dok "Rubin" daje "R150".

"Ashcraft" i "Ashcroft" ova daju "A261", a ne "A226" (karakteri 's' i 'c' u imenu daju jedan broj 2, a ne 22 zato što između njih stoji 'h').

"Tymczak" daje "T522",a ne "T520" (karakteri 'z' i 'k' u imenu se kodiraju kao 2 dvaput zato što je između njih samoglasnik).

"Pfister" daje "P236",a ne "P123" (prva dva slova imaju isti broj i kodiraju se jednom kao 'P').

Varijacije[uredi | uredi izvor]

Sličan algoritam, nazvan "Obrnuti Saundeks" prefiksira poslednje slovo umesto prvog.

Sistem Države Njujork za Identifikaciju i Inteligenciju (NYSIIS) je predstavljen 1970. godine kao unapređenje Saundeksa. NYSIIS barata više-karakterskim n-gramima i održava relativan položaj samoglasnika, što Saundeks ne radi.

Dejč–Mokotov Saundeks (D–M Saundeks) je razvio 1985. godine genealog Gari Mokotov i kasnije unapredio genealog Rendi Dejč zbog problema sa kojima su se susreli dok su pokušavali da primene Raselov Saundeks na Jevreje sa germanskim ili slovenskim prezimenima (kao što su Moskowitz-Moskovitz ili Levine-Lewin). D–M Saundeks se ponekad naziva "Jevrejski Saundeks" ili "Istočno Evropski Saundeks", autori obeshrabruju upotrebu tih nadimaka. D–M Saundeks algoritam može da vrati do 32 pojedinačna fonetska kodiranja za jedno ime. Rezultati D-M Saundeksa se vraćaju u potpuno numeričkom formatu između 100000 i 999999. Ovaj Algoritam je mnogo kompleksniji od Rasel Saundeksa.

Kao odgovor na slabosti Saundeks algoritma, Lorens Filips je razvio Metafon algoritam u 1990. u iste svrhe. Filips je razvio unapređeni Metafon u 2000. koji je nazvao Dupli Metafon. Dupli Metafon uključuje mnogo veći skup pravila kodiranja nego njegov prethodnik, barata ne-latiničnim karakterima, i vraća primarno i sekundarno kodiranje da bi uračunao različite izgovore iste reči u engleskom jeziku. Filips je napravio Metafon 3 kao sledeću verziju u 2009. da bi obezbedio tačnije poklapanje suglasnika i unutrašnjih samoglasnika kao i neka podešavanja koja dozvoljavaju još bolja poklapanja.