GitHub - dveselov/mystem: CGo bindings to Yandex.Mystem (original) (raw)
CGo bindings to Yandex.Mystem - russian morphology analyzer.
Install
$ wget https://github.com/yandex/tomita-parser/releases/download/v1.0/libmystem_c_binding.so.linux_x64.zip $ unzip libmystem_c_binding.so.linux_x64.zip $ sudo cp libmystem_c_binding.so /usr/lib/ $ sudo ln -s /usr/lib/libmystem_c_binding.so /usr/lib/libmystem_c_binding.so.1 $ go get -u github.com/dveselov/mystem
Usage
package main
import ( "fmt" )
import "github.com/dveselov/mystem"
func main() { analyses := mystem.NewAnalyses("маша") defer analyses.Close() fmt.Println(fmt.Sprintf("Analyze of '%s':", "маша")) for i := 0; i < analyses.Count(); i++ { lemma := analyses.GetLemma(i) grammemes := lemma.StemGram() fmt.Println(fmt.Sprintf("%d. %s - %v", i+1, lemma.Text(), grammemes)) } }
Output'll looks like this:
Analyze of 'маша':
1. маша - [136 155 191 201]
2. махать - [137 196 206]
License
Source code of go-mystem is licensed under MIT license, but Yandex.Mystem have their own EULA (allows commercial use), that you must accept.