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 - это имя файла-словаря. Пример файла словаря
лев лев
льва лев
львам лев
игра игра
игры игра