Anar al contingut

Metaphone

De L'Enciclopèdia, la wikipedia en valencià

Metaphone és un algoritme fonètic, un algoritme per a indexar paraules pel seu sò en ser pronunciades en anglés.

Metaphone va ser desenrollat per Lawrence Philips com a resposta a les deficiències de l'algoritme Soundex. És més exacte que Soundex perque "entén" les regles bàsiques de pronunciació en anglés.

Està disponible com a operador integrat en alguns sistemes, incloent les últimes versions de PHP.

L'autor més vesprada va desenrollar una nova versió de l'algoritme, al que va cridar "Double Metaphone", que produïx resultats més exactes que l'original.

L'algoritme produïx claus com a eixida. Paraules que sonen semblat compartixen la mateixa clau i són de llongitut variable.

Algoritme

[editar | editar còdic]

Des d'una llibreria de text en Ruby:

      [ /([bcdfhjklmnpqrstvwxyz])�+/,
                         '�' ],# Remou doubles consonants llevat g.
                                # [PHP] remou c des de regexp.
      [ /^ae/,            'I' ],
      [ /^[gkp]n/,        'N' ],
      [ /^wr/,            'R' ],
      [ /^x/,             'S' ],
      [ /^wh/,            'W' ],
      [ /mb$/,            'M' ],# [PHP] remou $ des de regexp.
      [ /(?!^)sch/,      'SK' ],
      [ /th/,             '0' ],
      [ /t?ch|sh/,        'X' ],
      [ /c(?=ia)/,        'X' ],
      [ /[st](?=i[ao])/,  'X' ],
      [ /s?c(?=[iey])/,   'S' ],
      [ /[cq]/,           'K' ],
      [ /dg(?=[iey])/,    'J' ],
      [ /d/,              'T' ],
      [ /g(?=h[^aeiou])/, ''  ],
      [ /gn(ed)?/,        'N' ],
      [ /([^g]|^)g(?=[iey])/,
                        '�J' ],
      [ /g+/,             'K' ],
      [ /ph/,             'F' ],
      [ /([aeiou])h(?=�|[^aeiou])/,
                         '�' ],
      [ /[wy](?![aeiou])/, '' ],
      [ /z/,              'S' ],
      [ /v/,              'F' ],
      [ /(?!^)[aeiou]+/,  ''  ],