AklStemmer
A Python library for Aklanon word stemming.
About
AklStemmer is a library that finds the root form of Aklanon words. It works on inflected words, even those with mixed Aklanon-English terms or those not found in dictionaries. It removes affixes, reduces repeated syllables, and applies transformation rules to find possible root forms. These are filtered using a list of valid words and conditions, and the best root is then chosen based on how much was changed during the process.
Installation
pip install aklstemmer
Usage
AklStemmer acts as a standalone library that can be imported via
from aklstemmer import stemmer.
get_stem
Gets the root of a word. Takes a word and returns its stem as a Stem object
(basically a string with affixes, reduplication, transformations, etc. as
additional attributes).
stem = stemmer.get_stem("nagsueat")
print(stem)
# Output: 'sueat'
Since get_stem returns a Stem object, the properties used in the stemming
process can be accessed as attributes.
prefix = stem.pre
print(prefix)
# Output: 'nag'
suffix = stem.suf
print(suffix)
# Output: None
get_stems
Gets the root of each word in a text. Takes a text and returns the stem of
each word as a list of Stem objects.
stems = stemmer.get_stems("nagsueat, binasa, ag gision")
print(stems)
# Output: ['sueat', 'basa', 'at', 'gisi']
get_stem_candidates
Gets all the stem candidates of a word. Takes a word and returns the possible
stems as a list of Stem objects. This is helpful for loose checking,
considering candidate selection is not perfect.
candidates = stemmer.get_stem_candidates("bukot")
print(candidates)
# Output: ['bukot', 'buko', 'bukon']
Accuracy
The accuracy hasn't been tested yet.
Development
This project uses uv for dependency management.
Clone the repo and sync dependencies (including dev and test groups):
git clone https://github.com/andrianllmm/aklanon-stemmer.git
cd aklanon-stemmer
uv sync --all-groups
Run the tests:
uv run pytest
Contributing
Contributions are welcome! See CONTRIBUTING.md for more details.
License
Distributed under the MIT License.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aklstemmer-0.1.1.tar.gz.
File metadata
- Download URL: aklstemmer-0.1.1.tar.gz
- Upload date:
- Size: 26.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.11.33 {"installer":{"name":"uv","version":"0.11.33","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a09a79a60f491849b725f12f16ec0e261c0777f2f0360538bf76a2edb933a8a4
|
|
| MD5 |
00299327c77e814d429c9d8f85b06360
|
|
| BLAKE2b-256 |
9b936842a687ef69d29cd4044f7094bc9b8c729dcac77d9cf338e2b33ee3844c
|
File details
Details for the file aklstemmer-0.1.1-py3-none-any.whl.
File metadata
- Download URL: aklstemmer-0.1.1-py3-none-any.whl
- Upload date:
- Size: 25.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.11.33 {"installer":{"name":"uv","version":"0.11.33","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
529fcde3a54dbdba5f5a5af8f823f88c19ee939a5c563f19185a56f2206ecfa7
|
|
| MD5 |
d1702efdbc3c04fcb3a4d5e33c42bfaf
|
|
| BLAKE2b-256 |
7acc3d5d1f544dfa6c9131503ab7797a48e3ab6d4e9ef4189885d7fd0b01c4fe
|