Awesome Go

go-mystem

CategoryNatural Language Processing
SubcategoryTranslation
Stars0

CGo bindings to Yandex.Mystem - russian morphology analyzer

About go-mystem

go-mystem Build Status GoDoc Go Report Card Coverage Status

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.

Frequently Asked Questions

What is go-mystem?

go-mystem is a Natural Language Processing library for the Go programming language. CGo bindings to Yandex.Mystem - russian morphology analyzer

How do I install go-mystem?

Install go-mystem with the Go module system using `go get dveselov/mystem`. Check the repository for the current installation instructions.

What category does go-mystem belong to?

go-mystem is listed under Natural Language Processing, specifically Translation.

← Back to Translation