Skip to content

cybernik/mystem

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

CGo bindings to Yandex.Mystem

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 89.6%
  • C 10.4%