Skip to content

0xnu/nysiis

Repository files navigation

nysiis

Release Go Report Card Go Reference PyPI version npm version LuaRocks License

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.

Installation

go install github.com/0xnu/nysiis

Usage

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)
	}
}

Test

To test nysiis, ensure that you have Go installed on your system. Then, follow these steps:

go test ./...

Reference

@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}
}

Additional References

License

This project is licensed under the MIT License.

Copyright

(c) 2024 Finbarrs Oketunji.

About

NYSIIS phonetic encoding algorithm.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Languages