tuva commited on
Commit
774edb1
·
1 Parent(s): 7f0166a

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +49 -1
README.md CHANGED
@@ -16,10 +16,12 @@ TuRu - Tuvan/Russian binary classifier model [GitHub](https://github.com/tarbaga
16
 
17
  ## How to use
18
 
 
 
19
  ```python
20
  >>> from turu import TuRu
21
 
22
- >>> model_file = r'turu_model.pkl'
23
  >>> text_in = u'Февраль 17-де, ай санаашкыны-биле Чаа чылга – Шагаа байырлалынга тураскаадып, Тыва Республиканың күрүне шаңналдарын тывыскан.'
24
 
25
  >>> turu = TuRu()
@@ -27,4 +29,50 @@ TuRu - Tuvan/Russian binary classifier model [GitHub](https://github.com/tarbaga
27
 
28
  {'lang': 0},
29
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  ```
 
16
 
17
  ## How to use
18
 
19
+
20
+ test.py
21
  ```python
22
  >>> from turu import TuRu
23
 
24
+ >>> model_file = 'turu_model.pkl'
25
  >>> text_in = u'Февраль 17-де, ай санаашкыны-биле Чаа чылга – Шагаа байырлалынга тураскаадып, Тыва Республиканың күрүне шаңналдарын тывыскан.'
26
 
27
  >>> turu = TuRu()
 
29
 
30
  {'lang': 0},
31
 
32
+ ```
33
+
34
+ main.py
35
+ ```python
36
+ import pickle
37
+ import warnings
38
+ warnings.filterwarnings("ignore")
39
+
40
+
41
+ class TuRu:
42
+ """
43
+ Система распознования тувинского/русского языка на базе обученной модели sklearn.MultinomialNB()
44
+ : load_model - загрузка предворительно обученной модели model_file
45
+ : text_preroccesor - предварительная обработка текста
46
+ : get_turu - базовая функция для обработки текста text_in
47
+ """
48
+ def __init__(self, text_in='', model_file=''):
49
+ self.text_in = text_in
50
+ self.model_file = model_file
51
+
52
+ def load_model(self)->set:
53
+ "Загрузка модели"
54
+ with open(self, 'rb') as f:
55
+ vec, clf = pickle.load(f)
56
+ return vec, clf
57
+
58
+ def text_preroccesor(self)->str:
59
+ "Функция отчистки текста"
60
+ text = str(self).lower()
61
+ tokens = [x for x in text.split() if x.isalpha()]
62
+ return ' '.join(tokens)
63
+
64
+ def get_turu(self, model_file, text_in)->object:
65
+ """Обработка текста моделью"""
66
+ try:
67
+ vec, clf = TuRu.load_model(model_file)
68
+ text = TuRu.text_preroccesor(text_in)
69
+ text_transforme = vec.transform([text])
70
+ scor = clf.predict(text_transforme)
71
+
72
+ if scor[0] == 1:
73
+ return {"type": 1, "lang": "тувинский язык"}
74
+ else:
75
+ return {"type": 0, "lang": "русский язык"}
76
+ except Exception as e:
77
+ return {"type": 3, "lang": e}
78
  ```