Система идентификации и разведки штата Нью-Йорк - Википедия - New York State Identification and Intelligence System
В Система идентификации и разведки штата Нью-Йорк Фонетический код, широко известный как NYSIIS, фонетический алгоритм разработан в 1970 году как часть Штат Нью-Йорк Система идентификации и разведки (в настоящее время входит в состав Управления уголовного правосудия штата Нью-Йорк). Он имеет повышение точности на 2,7% по сравнению с традиционным Soundex алгоритм.[1]
Процедура
Алгоритм, описанный в Методы поиска имени,[2] является:
- Если первые буквы имени
- "MAC", затем измените эти буквы на "MCC".
- 'KN', затем измените эти буквы на 'NN'
- 'K', затем измените эту букву на 'C'
- 'PH', затем замените эти буквы на 'FF'
- 'PF' затем измените эти буквы на 'FF'
- 'SCH' затем измените эти буквы на 'SSS'
- Если последние буквы имени[3]
- 'EE' затем замените эти буквы на 'Y␢'
- 'IE' затем измените эти буквы на 'Y␢'
- 'DT', или 'RT', или 'RD', или 'NT', или 'ND', затем измените эти буквы на 'D␢'
- Первый символ кода NYSIIS - это первый символ имени.
- В следующих правилах выполняется сканирование символов имени. Это описано в терминах программного цикла. Указатель используется для указания текущей рассматриваемой позиции в имени. Шаг 4 - установить этот указатель так, чтобы он указывал на второй символ имени.
- Учитывая положение указателя, может быть выполнен только один из следующих операторов.
- Если пусто, переходите к правилу 7.
- Если текущая позиция - гласная (AEIOU), тогда, если она равна «EV», измените ее на «AF», в противном случае измените текущую позицию на «A».
- Если текущая позиция - буква
- 'Q', затем измените букву на 'G'
- 'Z', затем измените букву на 'S'
- 'M', затем измените букву на 'N'
- Если текущая позиция - это буква «K», то, если следующая буква - «N», замените текущую позицию на «N», в противном случае замените текущую позицию на «C».
- Если текущая позиция указывает на буквенную строку
- 'SCH', затем замените строку на 'SSS'
- 'PH', затем замените строку на 'FF'
- Если текущая позиция - это буква «H», а предыдущая или следующая буква не является гласной (AEIOU), тогда замените текущую позицию предыдущей буквой.
- Если текущая позиция - это буква «W», а предыдущая буква - гласная, то замените текущую позицию предыдущей.
- Если ни одно из этих правил не применяется, сохраните текущее буквенное значение позиции.
- Если буква текущей позиции совпадает с последней буквой, помещенной в код, установите указатель так, чтобы он указывал на следующую букву, и переходите к шагу 5.
Следующий символ кода NYSIIS - буква текущей позиции.
Увеличьте указатель, чтобы указать на следующую букву.
Переходите к шагу 5. - Если последним символом кода NYSIIS является буква «S», удалите ее.
- Если последние два символа кода NYSIIS являются буквами «AY», замените их одиночным символом «Y».
- Если последним символом кода NYSIIS является буква «А», удалите эту букву.
Рекомендации
- ^ Rajkovic, P .; Янкович, Д. (2007), «Адаптация и применение алгоритма Daitch-Mokotoff Soundex к сербским именам» (PDF), XVII конференция по прикладной математике, Нови-Сад, Сербия, архивировано из оригинал (PDF) 27 августа 2011 г.
- ^ Тафт, Р. Л. (1970), "Методы поиска имени", Система идентификации и разведки штата Нью-Йорк, Олбани, Нью-Йорк
- ^ https://www.fileformat.info/info/unicode/char/2422/index.htm