wordfreq

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Mar 19, 2025 License: MIT Imports: 12 Imported by: 0

README

Загрузчик из структурированных файлов

Этот загрузчик работает с файлами следующего формата:

268583	Tocopilla   1
268584	Tocsohan    4
268585	Tocumen 1
268586	Tocumen International   1

Это - один из форматов, в которых данные представлены в Leipzig Corpora Collection.

Загрузчик игнорирует строки вроде последней в этом примере. Он понимает только одиночные слова.

В директории 4 файла, по два для каждого из языков. Загрузчик их объединяет. В каждом из файлов могут быть слова только одного языка (русские или английские).

Первое число в строке игнорируется, последнее используется в качестве счетчика - сколько раз слово встретилось в некоем тексте. Индекс использует это число для определения "веса" слова при выборе лучшего исправления из серии возможных.

По этому файлу загрузчик построит такой индексный файл:

tocsohan    4
tocopilla   1
tocumen 1

Он приведен к lowercase, и в нем присутствуют только индивидуальные слова (без пробелов), но могут присутствовать слова с дефисами. Слова отсортированы по убыванию частот.

NB! Прежде, чем запускать парсер, надо распаковать исходные данные: (в директории rawdata/wordfreq):

tar xzf words_en.tgz 
tar xzf words_ru.tgz 

Зачем он может быть нужен?

На его основе можно сделать загрузчик, через который можно загрузить в индекс, например, каталог маркетплейса, учитывающий количество товара на складе или количество покупок конкретного товара. На это значение можно, например, умножать частоту встречаемости слова в каталоге товаров, и таким образом улучшать релевантность исправлений спелл-чекера с точки зрения популярности товара, в названии которого встречается корректный вариант слова, подлежащего исправлению.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Parser

type Parser struct {
	// contains filtered or unexported fields
}

func New

func New(l *logrus.Entry) *Parser

func (*Parser) BuildLangIndex

func (p *Parser) BuildLangIndex(lang string) (map[string]uint32, error)

Jump to

Keyboard shortcuts

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