Soundex

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2021. március 1-jén felülvizsgált verziótól ; az ellenőrzések 2 szerkesztést igényelnek .

Soundex  - az egyik algoritmus a húrok hangjuk alapján történő összehasonlítására ; ugyanazt az indexet állítja be az angolul hasonló hangzású karakterláncokhoz .

A Robert C. Russel és Margaret King Odell által kifejlesztett és 1918-ban és 1922-ben szabadalmaztatott [1] [2] történelmileg az első fonetikus algoritmus . Az 1960-as években vált népszerűvé, miután számos cikket szenteltek neki a Communications of the ACM -ben és a Journal of the ACM -ben ; még híresebb lett, miután megjelent Knuth The Art of Programming című művében [3] . Az 1980- as évek óta számos RDBMS -ben alapfunkcióként használják .

Kezdetben az amerikai angol fonetikájára összpontosított , módosításokon keresztül más változatokra és nyelvekre is alkalmazható, de bizonyos esetekben jelentős változtatásokra van szükség (például a Deutsch-Mokotoff algoritmusban , amely támogatja a tulajdonneveket jiddis és szláv nyelvek ). Ezt követően olyan alternatívák is megjelentek, amelyek inkább a közönséges angol szavakra koncentráltak, mint a tulajdonnevekre (például Metaphone , Caverphone ).

Algoritmus lépései

  1. Emlékezzen a szó első betűjére.
  2. A h és w minden előfordulása törlésre kerül (kivéve a szó első betűjét).
  3. A mássalhangzókat 1-től 6-ig terjedő számok helyettesítik, és a hasonló hangzású betűk ugyanazoknak a számoknak felelnek meg:
    • b, f, p, v → 1
    • c, g, j, k, q, s, x, z → 2
    • d, t → 3
    • l → 4
    • m, n → 5
    • r → 6
  4. Bármely azonos számjegysorozat egy ilyen számjegyre redukálódik.
  5. Minden a , e , i , o , u , y törlődik (kivéve a szó első betűjét).
  6. Az első karaktert az 1. lépésben megjegyzett betűre cseréli, nagybetűssé téve azt.
  7. Az eredményül kapott karakterlánc az első négy karakterre csonkolódik. Ha a karakterlánc rövidebb a szükségesnél, a hiányzó karakterek helyére 0 kerül.

Példák:

Jegyzetek

  1. 1 261 167 számú amerikai egyesült államokbeli szabadalom
  2. 1 435 663 számú amerikai egyesült államokbeli szabadalom
  3. Donald Knuth . 6. rész. Keresés // Programozás művészete = The Art of Computer Programming. - 2012. - V. 3. Rendezés és keresés. - S. 249.