Go Porter Stemmer
Project Website: None
Github Link: https://github.com/reiver/go-porterstemmer
A native Go clean room implementation of the Porter Stemming Algorithm.
This algorithm is of interest to people doing Machine Learning or Natural Language Processing (NLP).
This is NOT a port. This is a native Go implementation from the human-readable description of the algorithm.
I’ve tried to make it (more) efficient by NOT internally using string’s, but instead internally using rune’s and using the same (array) buffer used by the rune slice (and sub-slices) at all steps of the algorithm.
For Porter Stemmer algorithm, see:
http://tartarus.org/martin/PorterStemmer/def.txt (URL #1)
http://tartarus.org/martin/PorterStemmer/ (URL #2)