Soundex

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Soundex je fonetický algoritmus pro indexování slov podle anglické výslovnosti. Cílem je kódování homofonů pomocí stejné reprezentace tak, aby mohly být považovány za shodné i v případě malých rozdílů v pravopisu. Algoritmus kóduje především souhlásky. Samohlásky jsou kódovány pouze v případě, že jsou prvním písmenem slova. Soundex je standardní součástí mnoha databázových systémů jako například PostgreSQL, MySQL, SQLite, MS SQL Server nebo Oracle. Vylepšení Soundexu jsou základem mnoha moderních fonetických algoritmů.

Historie

Soundex byl vyvinut Margaretou K. Odellovou a Robertem C. +more Russelem a patentován v letech 1918 a 1922. Jeho variace, americký Soundex, byla využívána ve třicátých letech dvacátého století ke zpětné analýze amerického sčítání lidu z let 1890 až 1920. Známějším se Soundex stal v šedesátých letech dvacátého století, kdy o něm bylo vydáno několik článků v časopisech Communications a Journal of the Association for Computing Machinery a byl popsán v knize Umění programování od Donalda Knutha.

Americký Soundex

Reprezentace slova pomocí amerického Soundexu se skládá z písmene následovaného třemi číslicemi. Toto písmeno je první písmeno slova a číslice reprezentují zbylé souhlásky. +more Souhlásky s podobnou výslovností jsou reprezentovány stejnou číslicí.

Algoritmus je následující: # První písmeno je zachováno a všechny výskyty písmen A, E, I, O, U, Y, H, W jsou vynechány. # Souhlásky (mimo prvního písmene slova) jsou nahrazovány číslicemi následovně: #* B, F, P, V → 1 #* C, G, J, K, Q, S, X, Z → 2 #* D, T → 3 #* L → 4 #* M, N → 5 #* R → 6 # Pokud spolu v původním slovu (před krokem 1) sousedí dvě nebo více písmen se stejnou číselnou reprezentací, je zachováno pouze první. +more Stejně tak pokud jsou dvě písmena se stejnou číselnou reprezentací odděleny písmeny H nebo W, jsou také kódovány pouze jednou číslicí. Oproti tomu dvě písmena se stejnou číselnou reprezentací oddělené samohláskou jsou kódována dvěma číslicemi. Toto pravidlo se vztahuje také na první písmeno slova. # Pokud je původní slovo příliš krátké a algoritmus mu nepřiřadí alespoň tři číslice, je číselný kód do celkové délky tří doplněny nulami. Pokud má kód více než tři číslice, jsou zachovány pouze první tři.

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top