This module contains a utility for part-of-speech tagging of Bashkir text. The tool based on LSTM neural network and takes a word order into account.
The tool could be installed with pip
pip3 install bashkirtagger
Note: the model for the utility must be downloaded separately. Due to limitations on the size of the project, I could not place it on a github or PiPy. After launching the program it will download and unpack the model. No action is necessary on your part. But you will need an Internet connection and about 150 megabytes of incoming traffic.
Tagging one sentence at a time
>>> from bashkirtagger import Tagger >>> t = Tagger() >>> sentence = "Бер кеше йәшәй." >>> tagged_sentence = t.predict_pos(sentence) >>> print(tagged_sentence) [('бер', 'NUM'), ('кеше', 'S'), ('йәшәй', 'V')]
Tagging a text of several sentences
>>> from bashkirtagger import Tagger >>> t = Tagger() >>> text = "Бер кеше йәшәй. Кем белә." >>> tagged_text = t.text_prc(text) >>> print(tagged_text) [[('бер', 'NUM'), ('кеше', 'S'), ('йәшәй', 'V')], [("кем", "SPRO"), ("белә", "V")]]
Tagset based on Bashmorph morphological analyzer for Bashkir language by Boris Orekhov.
- S: substantive
- V: verb
- ADJ: adjective
- NUM: numeral
- SPRO: pronoun
- PART: particle
- INTJ: interjunction
- POST: postposition
- CONJ: conjunction
See the paper for the details.
The model trained on collected from the web Bashkir text corpus which was marked up by Bashmorph.
This tool can be used for disambiguation of rule-based markup.
You can make your own wrap of the trained model.
Model's evaluation: loss: 0.0015 - acc: 0.9996 - val_loss: 0.0975 - val_acc: 0.9847.
You can contact the contriutor of the project via email:
Boris Orekhov (nevmenandr)
@ gmail