forms

package
v0.0.6 Latest Latest
Warning

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

Go to latest
Published: Sep 1, 2021 License: MIT Imports: 5 Imported by: 0

README

Формы слова

Пакет forms используется для лемматизации слов на базе словаря всех известных форм.

Файл словаря

Словарь форм хранится в файле data.txt, который подгружается при помощи go:embed. Файл является текстовым и каждая строка отвечает за одно слово. Формы в каждой строке разделяются пробельным символами. Самая первая форма в строке является базовой для слова. Пример словаря ниже:

тест теста тесту тестом тесте
тесты тестов тестам тестами тестах
тесто теста тесту тестом тесте

Исходя из этих данных для формы тесту, будет возвращена базовая форма тест и тесто, для тестов - тесты.

API

Get
func Get(src string) ([]string, bool)

Функция возвращает массив базовых форм и true для исходной формы, если базовые формы определены, либо nil и false, если нет данных.

Each
func Each(src string, fn EachFunc)

Функция Each принимает на вход исходную форму слова и callback-функцию, в которую сначала передает текущую форму слова, а потом все известные базовые. Если callback возвращает false, то процесс сразу перерывается.

callback-функция имеет следующий формат:

type EachFunc func(string) bool

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Each

func Each(src string, fn EachFunc)

Iterate over current and each known base forms

func Get

func Get(src string) ([]string, bool)

Get base forms for src string if exists

func Size added in v0.0.5

func Size() int

Get total forms number

Types

type EachFunc

type EachFunc func(string) bool

Iterator func for Each call

Jump to

Keyboard shortcuts

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