Delete main.py
Browse files
main.py
DELETED
@@ -1,42 +0,0 @@
|
|
1 |
-
import pickle
|
2 |
-
import warnings
|
3 |
-
warnings.filterwarnings("ignore")
|
4 |
-
|
5 |
-
|
6 |
-
class TuRu:
|
7 |
-
"""
|
8 |
-
Модель бинарного классификатора тувинского/русского языка на базе sklearn.MultinomialNB()
|
9 |
-
: load_model - загрузка предворительно обученной модели model_file
|
10 |
-
: text_preroccesor - предварительная обработка текста
|
11 |
-
: get_turu - базовая функция для обработки текста text_in
|
12 |
-
"""
|
13 |
-
def __init__(self, text_in='', model_file=''):
|
14 |
-
self.text_in = text_in
|
15 |
-
self.model_file = model_file
|
16 |
-
|
17 |
-
def load_model(self)->set:
|
18 |
-
"Загрузка модели"
|
19 |
-
with open(self, 'rb') as f:
|
20 |
-
vec, clf = pickle.load(f)
|
21 |
-
return vec, clf
|
22 |
-
|
23 |
-
def text_preroccesor(self)->str:
|
24 |
-
"Функция отчистки текста"
|
25 |
-
text = str(self).lower()
|
26 |
-
tokens = [x for x in text.split() if x.isalpha()]
|
27 |
-
return ' '.join(tokens)
|
28 |
-
|
29 |
-
def get_turu(self, model_file, text_in)->object:
|
30 |
-
"""Обработка текста моделью"""
|
31 |
-
try:
|
32 |
-
vec, clf = TuRu.load_model(model_file)
|
33 |
-
text = TuRu.text_preroccesor(text_in)
|
34 |
-
text_transforme = vec.transform([text])
|
35 |
-
scor = clf.predict(text_transforme)
|
36 |
-
|
37 |
-
if scor[0] == 1:
|
38 |
-
return {"type": 1, "lang": "тувинский язык"}
|
39 |
-
else:
|
40 |
-
return {"type": 0, "lang": "русский язык"}
|
41 |
-
except Exception as e:
|
42 |
-
return {"type": 3, "lang": e}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|