Update README.md
Browse files
README.md
CHANGED
@@ -14,71 +14,27 @@ tags:
|
|
14 |
|
15 |
TuRu - Tuvan/Russian binary classifier model [GitHub](https://github.com/tarbagan/tuvalang/tree/main/turu).
|
16 |
|
17 |
-
# Install package
|
18 |
-
|
19 |
-
```cmd
|
20 |
-
pip install sklearn
|
21 |
-
```
|
22 |
|
23 |
## How to use
|
24 |
|
25 |
|
26 |
-
test.py
|
27 |
-
```python
|
28 |
-
>>> from turu import TuRu
|
29 |
-
|
30 |
-
>>> model_file = 'turu_model.pkl'
|
31 |
-
>>> text_in = u'Февраль 17-де, ай санаашкыны-биле Чаа чылга – Шагаа байырлалынга тураскаадып, Тыва Республиканың күрүне шаңналдарын тывыскан.'
|
32 |
-
|
33 |
-
>>> turu = TuRu()
|
34 |
-
>>> lang = turu.get_turu(text_in=text_in, model_file=model_file)
|
35 |
|
36 |
-
|
|
|
37 |
|
38 |
-
|
39 |
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
warnings.filterwarnings("ignore")
|
45 |
|
|
|
|
|
46 |
|
47 |
-
|
48 |
-
|
49 |
-
Модель бинарного классификатора тувинского/русского языка на базе sklearn.MultinomialNB()
|
50 |
-
: load_model - загрузка предворительно обученной модели model_file
|
51 |
-
: text_preroccesor - предварительная обработка текста
|
52 |
-
: get_turu - базовая функция для обработки текста text_in
|
53 |
-
"""
|
54 |
-
def __init__(self, text_in='', model_file=''):
|
55 |
-
self.text_in = text_in
|
56 |
-
self.model_file = model_file
|
57 |
|
58 |
-
|
59 |
-
"Загрузка модели"
|
60 |
-
with open(self, 'rb') as f:
|
61 |
-
vec, clf = pickle.load(f)
|
62 |
-
return vec, clf
|
63 |
|
64 |
-
def text_preroccesor(self)->str:
|
65 |
-
"Функция отчистки текста"
|
66 |
-
text = str(self).lower()
|
67 |
-
tokens = [x for x in text.split() if x.isalpha()]
|
68 |
-
return ' '.join(tokens)
|
69 |
|
70 |
-
def get_turu(self, model_file, text_in)->object:
|
71 |
-
"""Обработка текста моделью"""
|
72 |
-
try:
|
73 |
-
vec, clf = TuRu.load_model(model_file)
|
74 |
-
text = TuRu.text_preroccesor(text_in)
|
75 |
-
text_transforme = vec.transform([text])
|
76 |
-
scor = clf.predict(text_transforme)
|
77 |
-
|
78 |
-
if scor[0] == 1:
|
79 |
-
return {"type": 1, "lang": "tuvan"}
|
80 |
-
else:
|
81 |
-
return {"type": 0, "lang": "russian"}
|
82 |
-
except Exception as e:
|
83 |
-
return {"type": 3, "lang": "unknown"}
|
84 |
-
```
|
|
|
14 |
|
15 |
TuRu - Tuvan/Russian binary classifier model [GitHub](https://github.com/tarbagan/tuvalang/tree/main/turu).
|
16 |
|
|
|
|
|
|
|
|
|
|
|
17 |
|
18 |
## How to use
|
19 |
|
20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
22 |
+
```python
|
23 |
+
from tensorflow.keras.models import load_model
|
24 |
|
25 |
+
model = load_model('turu.h5')
|
26 |
|
27 |
+
text_to_predict = ["""
|
28 |
+
Президент ооң бодалы-биле алырга, регионалдыг-даа, муниципалдыг-даа деңнелде деткиир ужурлуг регионнарда спортчу инфраструктура хөгжүлдезиниң айтырыын көрген.
|
29 |
+
Ооң келир үеде президент программазының угланыышкыны ол апаарын Владимир Путин чугаалаан.
|
30 |
+
"""]
|
|
|
31 |
|
32 |
+
sequences = tokenizer.texts_to_sequences(text_to_predict)
|
33 |
+
padded = pad_sequences(sequences, maxlen=10)
|
34 |
|
35 |
+
prediction = model.predict(padded)
|
36 |
+
print(prediction)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
|
38 |
+
```
|
|
|
|
|
|
|
|
|
39 |
|
|
|
|
|
|
|
|
|
|
|
40 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|