Skip to main content

A generic language stemming utility, dedicated for gensim word-embedding.

Project description

Word embedding: generic iterative stemmer

PyPI version Pipeline codecov Ruff Code style: black Imports: isort Type checked: mypy Linting: pylint

A generic helper for training gensim and fasttext word embedding models.
Specifically, this repository was created in order to implement stemming on a Wikipedia-based corpus in Hebrew, but it will probably also work for other corpus sources and languages as well.

Important to note that while there are sophisticated and efficient approaches to the stemming task, this repository implements a naive approach with no strict time or memory considerations (more about that in the explanation section).

Based on https://github.com/liorshk/wordembedding-hebrew.

Setup

  1. Create a python3 virtual environment.
  2. Install dependencies using make install (this will run tests too).

Usage

This section shows the basic flow this repository was designed to perform. It supports more complicated flows as well.

The output of the training process is a StemmedKeyedVectors object (in the form of a .kv file), which inherits the standard gensim.models.KeyedVectors.

  1. Under ./data folder, create a directory for your corpus (for example, wiki-he).
  2. Download Hebrew (or any other language) dataset from Wikipedia:
    1. Go to wikimedia dumps.
    2. Download hewiki-latest-pages-articles.xml.bz2, and save it under ./data/wiki-he.
  3. Create your initial text corpus: TODO: create a notebook for that.
  4. Train the model: TODO: create a notebook for that.
  5. Play with your trained model using playground.ipynb.

Generic iterative stemming

TODO: Explain the algorithm.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

generic_iterative_stemmer-1.1.3.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

generic_iterative_stemmer-1.1.3-py3-none-any.whl (20.1 kB view details)

Uploaded Python 3

File details

Details for the file generic_iterative_stemmer-1.1.3.tar.gz.

File metadata

File hashes

Hashes for generic_iterative_stemmer-1.1.3.tar.gz
Algorithm Hash digest
SHA256 f31bd8f2f0e1370d411d4893e5a9c64ce154d5f65e58eb9cf723c9df1007c2a7
MD5 2182fbdf0701db7d360e521c3a61fb03
BLAKE2b-256 15214bee8907519611b4ea3236cb0c6376002603328abee06e4d9ae5aaa97921

See more details on using hashes here.

File details

Details for the file generic_iterative_stemmer-1.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for generic_iterative_stemmer-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9c319c7912ef0b19b5d71dbcb092ff45bb066bd1bd1f4a4121ef6c0064af8b48
MD5 53ca26764bb3a5f7d043ea2139f717a8
BLAKE2b-256 d630fcfd16a9af61c0af6e0054026a2a17abb4b9be6a5b3d7554e17ddcd763a6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page