Skip to main content

No project description provided

Project description

Cro-Stem: Munjevit Hrvatski Stemmer 🚀🇭🇷

PyPI version Downloads Rust License: AGPL v3

Cro-Stem je moderna, munjevit brz Rust biblioteka za morfološku normalizaciju (stemming) hrvatskog jezika. S točnošću od >91%, idealna je zamjena za spore i teške AI modele u produkcijskim sustavima.

🏆 Novo u v0.1.3: Uveden StemMode (Agresivni/Konzervativni mod) i postignuta točnost od 91.4% na testnom korpusu od 1000 riječi.

✨ Ključne Značajke

  • ⚡ Munjevita brzina: Napisan u Rustu, obrađuje milijune riječi u sekundi.
  • 🎯 Visoka točnost: 91.4% na korpusu od 1000 riječi (nadmašuje većinu rule-based alata).
  • 🎛️ Dualni Mod Rada:
    • Aggressive: Za tražilice (Elasticsearch, Solr) - reže do korijena (knjigama -> knjig).
    • Conservative: Za NLP analizu - čuva lemu (knjigama -> knjiga).
  • 📦 Zero-Dependency: Nema teških ovisnosti (PyTorch, TensorFlow). Samo 500KB.
  • 🐍 Python Bindings: Jednostavna pip install integracija.

🚀 Usporedba

Značajka Cro-Stem v0.1.3 Veliki AI Modeli (spaCy/CLASSLA)
Veličina < 0.5 MB ~800 MB+
Brzina >1M riječi/sek ~10k riječi/sek
Stemming Točnost ~91.4% ~95-97%
Infrastruktura Običan CPU / Raspberry Pi GPU preporučljiv
Upotreba Search, Indexing, High-load Deep Semantic Analysis

🛠️ Instalacija

Python

pip install cro-stem

Rust

U vašem Cargo.toml:

[dependencies]
cro_stem = "0.1.3"

📖 Korištenje

Rust

use cro_stem::{CroStem, StemMode};

fn main() {
    // Odaberite mod: Aggressive (za search) ili Conservative (za lingvistiku)
    let stemmer = CroStem::new(StemMode::Aggressive);
    
    let words = vec!["učiteljice", "najljepših", "crveniji"];
    for w in words {
        println!("{} -> {}", w, stemmer.stem(w));
    }
    // Izlaz (Aggressive):
    // učiteljice -> učitelj
    // najljepših -> ljep
    // crveniji -> crven
}

Python

import cro_stem

# Default je Agresivni mod (najbolji za pretragu)
print(cro_stem.stem("pjevajući")) 
# 'pjev'

# Za buduće verzije planiramo exposeati modove i kroz Python API
words = ["kućama", "stolovima", "čovjekom"]
stems = [cro_stem.stem(w) for w in words]
print(stems)
# ['kuć', 'stol', 'čovjek']

📜 Licenca

Ovaj projekt je licenciran pod GNU Affero General Public License v3.0 (AGPL-3.0).

To znači:

  • Slobodno korištenje: Možete ga koristiti, mijenjati i dijeliti besplatno u svojim Open Source projektima (pod uvjetom da i oni koriste AGPL/GPL kompatibilnu licencu).
  • Zatvoreni kod: Ako planirate koristiti CroStem u komercijalnom softveru zatvorenog koda (gdje ne želite dijeliti svoj izvorni kod), ova licenca to ne dopušta bez otvaranja vašeg koda.

💡 Komercijalna licenca: Za upotrebu u zatvorenim (proprietary) sustavima bez obveze dijeljenja koda, molimo kontaktirajte autora za kupnju Komercijalne (Enterprise) licence koja vas oslobađa AGPL obveza. **. Detalje potražite u datoteci LICENSE.

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

cro_stem-0.1.4.tar.gz (63.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cro_stem-0.1.4-cp311-cp311-win_amd64.whl (116.4 kB view details)

Uploaded CPython 3.11Windows x86-64

File details

Details for the file cro_stem-0.1.4.tar.gz.

File metadata

  • Download URL: cro_stem-0.1.4.tar.gz
  • Upload date:
  • Size: 63.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.11.5

File hashes

Hashes for cro_stem-0.1.4.tar.gz
Algorithm Hash digest
SHA256 29ee2dbdf1169bfdbd34fccf103067d79c6183e6ccd932f4a8e432c2fed3b445
MD5 c7861e278bc3222188adb5308c3495f3
BLAKE2b-256 24c460585b5b22d56cd8f35b67c8e3940f2819a3f46d5487370376ef88768dce

See more details on using hashes here.

File details

Details for the file cro_stem-0.1.4-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for cro_stem-0.1.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d615047c94d7e9e688bab2141bd5ca218b89749d6318fbc16074766fea88ceb5
MD5 5d14a4a422c01f26b7d616b7e5cc972d
BLAKE2b-256 acadbbc750a6810f46040075b991836a0dca2edc433ead0b0059ca37194e4187

See more details on using hashes here.

Supported by

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