lstemmer

package module
v1.0.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 26, 2019 License: MIT Imports: 8 Imported by: 2

README

lstemmer

Библиотека для выполнения стеммнига слов на русском и английском языках.

Характерные особенности

  • Написана на чистом Go
  • Нет внешних зависимостей
  • Высокая производительность
  • Распространяется под лицензией MIT
  • Базируется на реализации алгоритма Портера на Go
  • Имеется встроенный словарь
  • Учет популярных префиксов для слов из словаря и трансформация по тем же правилам

Установка

go get github.com/belfinor/lstemmer

Работа с библиотекой

Подключение
import "github.com/belfinor/lstemmer"
Обработка слова
fmt.Println( lstemmer.Proc("львам") ) // лев
Обработка данных из канала слов
out := lstemmer.Stream(in)

Здесь in - канал входных слов (chan string), а out - канал результатов обработки

Обработка текста
out := lstemmer.Read(in)

Здесь in - это io.Reader, а out - канал результатов обработки (chan string)

Загрузка внешнего словаря
if err := lstemmer.LoadDict(filename) ; err != nil {
  panic(err)
}

Здесь filename - это имя файла-словаря. Пример файла словаря

лев лев
льва лев
львам лев
игра игра
игры игра

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LoadDict

func LoadDict(filename string) error

func Proc

func Proc(word string) string

Stem a word

func Read

func Read(in io.Reader) <-chan string

func Stream

func Stream(input <-chan string) <-chan string

func TextToCode

func TextToCode(str string) string

func TryExc

func TryExc(word string) (string, bool)

func TryExcCombo

func TryExcCombo(word string) (string, bool)

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL