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