Skip to content

pahanini/go-opencorpora-tools

Repository files navigation

Библиотека работы с данными opencorpora.org

Morph

Morph производит морфологический разбор слова на русском языке используя словарь opencorpora.org. Перед использованием исходный словарь в формате XML должен быть конвертирован во внутренний формат библиотеки, который позволяет уменьшить объем загружаемых в память данных приблезительно в 15 раз и одновременно увеличить скорость работы.

Прежде чем начать работу ознакомтесь с глоссарием, который большей частью взаимствован у проекта pymorphy2

Пример получения тэгов слова:

package main

import (
  "fmt"
  "github.com/pahanini/go-opencorpora-tools"
)

func main() {
  m, _ := opencorpora.LoadMorph("morph.dict")
  tag, _ := m.Tag("морфология")
  fmt.Println(tag)
  /*
  => [[
       {NOUN имя существительное} 
       {inan неодушевлённое} 
       {femn женский род}
       {sing единственное число} 
       {nomn именительный падеж} 
     ]]
  */
}

Создание файла словаря по данным opencorpora.org. Данная операция на MacBook Pro занимает примерно 1 минуту.

  d := opencorpora.MorphData{}
  d.ImportFromXMLFile("dict.opcorpora.xml")
  d.Save("morph.dict")