New York State Identification and Intelligence System

New York State Identification and Intelligence System Phonetic Code, allmänt känd som NYSIIS, är en fonetisk algoritm utarbetad 1970 som en del av New York State Identification and Intelligence System (nu en del av New York State Division of Criminal Justice Services). Den har en noggrannhetsökning på 2,7 % jämfört med den traditionella Soundex -algoritmen.

Procedur

Algoritmen, som beskrivs i Namnsökningstekniker , är:

  1. Om de första bokstäverna i namnet är
    'MAC', ändra dessa bokstäver till 'MCC' '
    KN', ändra sedan dessa bokstäver till 'NN' '
    K', ändra sedan denna bokstav till 'C' '
    PH' och ändra sedan dessa bokstäver till ' FF'
    'PF' ändra sedan dessa bokstäver till 'FF' '
    SCH' och ändra sedan dessa bokstäver till 'SSS'
  2. Om de sista bokstäverna i namnet är
    'EE', ändra dessa bokstäver till 'Y␢'
    'IE' och ändra sedan dessa bokstäver till 'Y␢' '
    DT' eller 'RT' eller 'RD' eller 'NT' eller 'ND ' ändra sedan dessa bokstäver till 'D␢'
  3. Det första tecknet i NYSIIS-koden är det första tecknet i namnet.
  4. I följande regler utförs en skanning av tecknen i namnet. Detta beskrivs i termer av en programslinga. En pekare används för att peka på den aktuella positionen i namnet. Steg 4 är att ställa in denna pekare så att den pekar på det andra tecknet i namnet.
  5. Med tanke på pekarens position kan endast en av följande satser utföras.
    1. Om tom, gå till regel 7.
    2. Om den aktuella positionen är en vokal (AEIOU) så om den är lika med 'EV', ändra till 'AF', annars ändra den nuvarande positionen till 'A'.
    3. Om den aktuella positionen är bokstaven
      'Q', ändra bokstaven till 'G'
      'Z', ändra bokstaven till 'S'
      'M' och ändra sedan bokstaven till 'N'
    4. Om den aktuella positionen är bokstaven 'K', om nästa bokstav är 'N', ersätt den nuvarande positionen med 'N', annars ersätt den nuvarande positionen med 'C'
    5. Om den aktuella positionen pekar på bokstavssträngen
      'SCH', ersätt strängen med 'SSS' '
      PH' och ersätt sedan strängen med 'FF'
    6. Om den aktuella positionen är bokstaven 'H' och antingen den föregående eller efterföljande bokstaven inte är en vokal (AEIOU), ersätt den nuvarande positionen med den föregående bokstaven.
    7. Om den aktuella positionen är bokstaven 'W' och den föregående bokstaven är en vokal, ersätt den nuvarande positionen med den föregående positionen.
    8. Om ingen av dessa regler gäller, behåll det aktuella positionsbokstavvärdet.



  6. Om den aktuella positionsbokstaven är lika med den sista bokstaven i koden, ställ sedan pekaren till att peka på nästa bokstav och gå till steg 5. Nästa tecken i NYSIIS-koden är den aktuella positionsbokstaven. Öka pekaren för att peka på nästa bokstav. Gå till steg 5.
  7. Om det sista tecknet i NYSIIS-koden är bokstaven "S", ta bort det.
  8. Om de två sista tecknen i NYSIIS-koden är bokstäverna 'AY', ersätt dem med det enda tecknet 'Y'.
  9. Om det sista tecknet i NYSIIS-koden är bokstaven "A", ta bort denna bokstav.

externa länkar