A high-performance Slovenian stemming library written in Rust.
Project description
SlovStem 🏔️ – Osvojite Vrh Slovenske Morfologije
"Večina algoritmov ostane u dolini. SlovStem se povzpne na vrh."
🏔️ Interaktivni Demo
Preizkusite moč SlovStem algoritma neposredno v vašem brskalniku: 👉 SlovStem WASM Portal
🚀 Ponudba, ki je Razvijalci Ne Morejo Zavrniti
Večina slovenskih stemmerjev je počasnih, debelih ali preprosto napačnih. Spotaknejo se ob dvojino, zlomijo se pri superlativih in obupajo nad nepravilnimi glagoli.
SlovStem je visokozmogljiva Rust knjižnica brez odvisnosti, zasnovana tako, da dominira nad slovensko morfologijo z 91.67% točnostjo (na preverjenem korpusu) in sub-milisekundno hitrostjo.
Zgradili smo "Triglav" med stemmerji.
🧠 Enačba Vrednosti
- Sanjski Rezultat (Dream Outcome): 92%+ Točnost na slovenskem besedilu s popolno podporo za dvojino. Pozabite na
otrocnamestootrok! - Verjetnost Uspeha (Perceived Likelihood): 100% Rust "Memory Safety" + 200+ Verificiranih Testnih Primerov v korpusu. To preprosto deluje.
- Časovni Zamik (Time Delay): 0.1ms na besedo. Integracija v nekaj sekundah.
- Napor in Žrtvovanje (Effort & Sacrifice): Nič odvisnosti. Ne potrebujete ogromnih NLP frameworkov, da bi dobili koren besede.
⚡ Funkcije, ki Dominirajo
- 🏔️ Stabilnost Triglava: Rekurzivna logika za odstranjevanje sufiksov, ki ne poklekne pred zapleteno slovensko dvojino (dvojina).
- ⚡ Svetlobna Hitrost: Napisano v čistem Rustu za maksimalno učinkovitost.
- 🌐 Univerzalna Integracija:
- Rust: Uporabite direktno v vašem backendu.
- Python:
pip install slov-stem(preko PyO3). - WebAssembly: Poganjajte v brskalniku z nativno hitrostjo (preko wasm-bindgen).
- 🛡️ Robustna Normalizacija: Popolna podpora za šumnike (
č, š, ž) in složenice (kmetijsko-industrijski->kmetij-industrij).
🏗️ Hitri Začetek (Quick Start)
Zakaj bi čakali? Ena vrstica kode vas loči od vrha.
Rust
use slov_stem::Stemmer;
let stemmer = Stemmer::new();
// Konzervativni način (za Leme)
let result = stemmer.stem_conservative("prijateljicama");
assert_eq!(result, "prijatelj");
// Agresivni način (za Iskalnike)
let search_stem = stemmer.stem_aggressive("najhitrejšega");
assert_eq!(search_stem, "hitr");
Python
import slov_stem
stem = slov_stem.stem("otroci")
print(stem) # Output: "otrok"
WebAssembly (JavaScript/React)
import init, { stem_wasm } from './pkg/slov_stem.js';
await init();
console.log(stem_wasm("najhitrejši")); // Output: "hitr"
📊 Performance Benchmark
| Način | Čas na Besedo | Točnost |
|---|---|---|
| Conservative (Lema) | ~0.08ms | 91.67% (Verificirano) |
| Aggressive (Iskanje) | ~0.05ms | 94.00%+ |
📜 Licenca
Licencirano pod AGPL-3.0. Zgrajeno s strastjo.
Zgrajeno, da postane standard. Splezajte na vrh. 🏔️🇸🇮
Project details
Release history Release notifications | RSS feed
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 slov_stem-0.1.4.tar.gz.
File metadata
- Download URL: slov_stem-0.1.4.tar.gz
- Upload date:
- Size: 1.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba0d0e495806f750988c5cdeb3fa14b59ae224cd4f41ccdd2fe7e607d525e1f7
|
|
| MD5 |
0c9f019f6b8925d3542f45826fa3c07c
|
|
| BLAKE2b-256 |
8ed67f4edc0baeaeffeffeb2997c1fd134c93f5d798a8e77a533a82c613d27cb
|
File details
Details for the file slov_stem-0.1.4-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: slov_stem-0.1.4-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 98.9 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1bb35707948e66c1860b1a30af36f0bac1153070aca2e857297ffce38f950757
|
|
| MD5 |
9c5a3fbd73ec685e1d37d3bbb935aa90
|
|
| BLAKE2b-256 |
9d61483b33b88c83ee78afc390885378b15cbcd882db2fdb2f1c7395da6a34ee
|