The nysiis
package provides a Golang implementation of the New York State Identification and Intelligence System (NYSIIS) phonetic encoding algorithm. NYSIIS encodes names based on pronunciation, which is helpful in name-matching and searching applications.
go install github.com/0xnu/nysiis
package main
import (
"fmt"
"github.com/0xnu/nysiis"
)
func main() {
// Create a new instance of the NYSIIS encoder
encoder := nysiis.NewNysiis()
// Example names to encode
names := []string{
"Watkins",
"Robert Johnson",
"Samantha Williams",
"Olanrewaju Akinyele", // Yoruba
"Obinwanne Obiora", // Igbo
"Abdussalamu Abubakar", // Hausa
"Virat Kohli", // Hindi
"Usman Shah", // Urdu
}
// Encode each name using NYSIIS
for _, name := range names {
encodedName := encoder.Encode(name)
fmt.Printf("Encoded name for %q: %s\n", name, encodedName)
}
}
To test nysiis
, ensure that you have Go installed on your system. Then, follow these steps:
go test ./...
@inproceedings{Rajkovic2007,
author = {Petar Rajkovic and Dragan Jankovic},
title = {Adaptation and Application of Daitch-Mokotoff Soundex Algorithm on Serbian Names},
booktitle = {XVII Conference on Applied Mathematics},
editors = {D. Herceg and H. Zarin},
pages = {193--204},
year = {2007},
publisher = {Department of Mathematics and Informatics, Novi Sad},
url = {https://jmp.sh/hukNujCG}
}
This project is licensed under the MIT License.
(c) 2024 Finbarrs Oketunji.