The New York State Identification and Intelligence System Phonetic Code, commonly known as NYSIIS, is a phonetic algorithm devised in 1970 as part of the New York State Identification and Intelligence System (now a part of the New York State Division of Criminal Justice Services). It features an accuracy increase of 2.7% over the traditional Soundex algorithm.
Procedure
The algorithm, as described in Name Search Techniques, is:
- If the first letters of the name are
- :'MAC' then change these letters to 'MCC'
- :'KN' then change these letters to 'NN'
- :'K' then change this letter to 'C'
- :'PH' then change these letters to 'FF'
- :'PF' then change these letters to 'FF'
- :'SCH' then change these letters to 'SSS'
- If the last letters of the name are
- :'EE' then change these letters to 'Yâ¢'
- :'IE' then change these letters to 'Yâ¢'
- :'DT' or 'RT' or 'RD' or 'NT' or 'ND' then change these letters to 'Dâ¢'
- The first character of the NYSIIS code is the first character of the name.
- In the following rules, a scan is performed on the characters of the name. This is described in terms of a program loop. A pointer is used to point to the current position under consideration in the name. Step 4 is to set this pointer to point to the second character of the name.
- Considering the position of the pointer, only one of the following statements can be executed.
- If blank then go to rule 7.
- If the current position is a vowel (AEIOU) then if equal to 'EV' then change to 'AF' otherwise change current position to 'A'.
- If the current position is the letter
- :'Q' then change the letter to 'G'
- :'Z' then change the letter to 'S'
- :'M' then change the letter to 'N'
- If the current position is the letter 'K' then if the next letter is 'N' then replace the current position by 'N' otherwise replace the current position by 'C'
- If the current position points to the letter string
- :'SCH' then replace the string with 'SSS'
- :'PH' then replace the string with 'FF'
- If the current position is the letter 'H' and either the preceding or following letter is not a vowel (AEIOU) then replace the current position with the preceding letter.
- If the current position is the letter 'W' and the preceding letter is a vowel then replace the current position with the preceding position.
- If none of these rules applies, then retain the current position letter value.
- If the current position letter is equal to the last letter placed in the code then set the pointer to point to the next letter and go to step 5.<br />The next character of the NYSIIS code is the current position letter.<br />Increment the pointer to point at the next letter.<br />Go to step 5.
- If the last character of the NYSIIS code is the letter 'S' then remove it.
- If the last two characters of the NYSIIS code are the letters 'AY' then replace them with the single character 'Y'.
- If the last character of the NYSIIS code is the letter 'A' then remove this letter.
References
External links