A regex-based Kurdish Kurmanji text standardizer that applies orthographic rules from Rêbara Rastnivîsînê by Weqfa Mezopotamya to normalize text into standard written form.
pip install git+https://github.com/cikay/kmr_standardizer.git
Preposition standardization
- di ... de → di ... da
>>> import kmr_standardizer >>> text = "Berî çend salan, muzîka kurdî bi piranî di nav malbatan de dihat guhdarîkirin." >>> result = kmr_standardizer.standardize(text) >>> result 'Berî çend salan, muzîka kurdî bi piranî di nav malbatan da dihat guhdarîkirin.' >>>
- derbarê ... de → derbarê ... da
>>> text = "derbarê edebiyata Kurdî de" >>> result = kmr_standardizer.standardize(text) >>> result 'derbarê edebiyata Kurdî da' >>>
- der barê ... de → der barê ... da
>>> text = "Hestên neteweyî û helwesta axêverên wî zimanî ya der barê zimanê wan de" >>> result = kmr_standardizer.standardize(text) >>> result 'Hestên neteweyî û helwesta axêverên wî zimanî ya der barê zimanê wan da' >>>
- derheqê ... de → derheqê ... da
>>> text = "Tişta gelekî balkêş a derheqê babilîyan de ev e ji bo hesabên xwe tablo çêdikirin." >>> result = kmr_standardizer.standardize(text) >>> result 'Tişta gelekî balkêş a derheqê babilîyan da ev e ji bo hesabên xwe tablo çêdikirin.' >>>
- der heqê ... de → der heqê ... da
>>> text = "Lê bi kurtasî be jî, ez dixwazim dîsan çend gotinan der heqê vê yekê de bibêjim." >>> result = kmr_standardizer.standardize(text) >>> result 'Lê bi kurtasî be jî, ez dixwazim dîsan çend gotinan der heqê vê yekê da bibêjim.' >>>
- tê de → tê da
>>> text = "bi her awayî ve raboriya me jî tê de ye" >>> result = kmr_standardizer.standardize(text) >>> result 'bi her awayî ve raboriya me jî tê da ye' >>>
- ji ... re → ji ... ra
>>> text = "Carinan wekî jibîrbûyî bixuyên jî, lê ew di binhiş de bi cih bûne û wan ji xwe re hêlîna xwe çêkiriye" >>> result = kmr_standardizer.standardize(text) >>> result 'Carinan wekî jibîrbûyî bixuyên jî, lê ew di binhiş da bi cih bûne û wan ji xwe ra hêlîna xwe çêkiriye' >>>
- bi ... re → bi ... ra
>>> text = "Carinan li ser teşeyê peyvekê pirs bi mirov re çêdibin bê çima wisan lê hatiye û ketiye rewşeke din." >>> result = kmr_standardizer.standardize(text) >>> result 'Carinan li ser teşeyê peyvekê pirs bi mirov ra çêdibin bê çima wisan lê hatiye û ketiye rewşeke din.' >>>
- di ... re → di ... ra
>>> text = "Meseleya zimanî, meseleyeke wisan e ku di ser hemû partî û rêxistinan re ye." >>> result = kmr_standardizer.standardize(text) >>> result 'Meseleya zimanî, meseleyeke wisan e ku di ser hemû partî û rêxistinan ra ye.' >>>
- jê re → jê ra
>>> text = "Ev jî kêşeyeke me ya din e û divê jê re jî çareseriyeke rast bê dîtin." >>> result = kmr_standardizer.standardize(text) >>> result 'Ev jî kêşeyeke me ya din e û divê jê ra jî çareseriyeke rast bê dîtin.' >>>
- pê re → pê ra
>>> text = "pê ra jidestçûna çanda kurdî jî" >>> result = kmr_standardizer.standardize(text) >>> result 'pê ra jidestçûna çanda kurdî jî' >>>
- tê re → tê re
>>> text = "Tevî ku serêşî û wextê wê yê rêwingiyê hindiktir e jî tê re neçûm." >>> result = kmr_standardizer.standardize(text) >>> result 'Tevî ku serêşî û wextê wê yê rêwingiyê hindiktir e jî tê ra neçûm.' >>>
Oblique î-suffix standardization
Some words form their oblique case by adding the suffix -î. In non-standard writing, the vowel in the stem is often changed to ê instead. This rule maps such non-standard oblique forms back to the standard -î suffixed form, and also corrects the accompanying auxiliary verbs (im → me, î → yî, e → ye, in → ne).
- welêt → welatî
>>> import kmr_standardizer >>> text = "Ji her derê welêt heval hebûn." >>> kmr_standardizer.standardize(text) 'Ji her derê welatî heval hebûn.' >>>
- welêt e → welatî ye
>>> text = "ev xelat jî danasîna welêt e li derveyî Swêdê." >>> kmr_standardizer.standardize(text) 'ev xelat jî danasîna welatî ye li derveyî Swêdê.' >>>
- welêt in → welatî ne
>>> text = "hê jî li dervayê welêt in" >>> kmr_standardizer.standardize(text) 'hê jî li dervayê welatî ne' >>>
- bajêr im → bajarî me
>>> text = "Ez tevahiya rojê li bajêr im" >>> kmr_standardizer.standardize(text) 'Ez tevahiya rojê li bajarî me' >>>
Supported words: welêt → welatî, dîwer → dîwarî, zimên → zimanî, bajêr → bajarî, êgir → agirî, mêst → mastî, nên → nanî, gênim → genimî, xênî → xanîyî, şivên → şivanî, dermên → dermanî
git clone https://github.com/cikay/kmr_standardizer.git
cd kmr_standardizer
pipenv install --devpipenv run pytest tests/ -v