Spaces:
Sleeping
Sleeping
Update pages/classification_reviews.py
Browse files
pages/classification_reviews.py
CHANGED
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
import numpy as np
|
3 |
+
import time
|
4 |
+
|
5 |
+
from models.LogReg import predict_1
|
6 |
+
from models.BertTunning import predict_2
|
7 |
+
from models.LSTM import predict_3
|
8 |
+
|
9 |
+
push_button = None
|
10 |
+
|
11 |
+
REVIEW = {0: 'Отрицательный отзыв', 1: 'Положительный отзыв'}
|
12 |
+
|
13 |
+
st.write("""
|
14 |
+
# Модели для предсказания положительных/отрицательных отзывов📝
|
15 |
+
""")
|
16 |
+
|
17 |
+
st.info("##### 🤖На данной странице приведены 3 различные модели, способные выполнять, поставленную задачу:"
|
18 |
+
"\n- RuBERT + LogisticRegression"
|
19 |
+
"\n- Fine Tinnig RuBERT with 2 Fully Connected Layers"
|
20 |
+
"\n- Fast Text Vectorizer + LSTM with Attention")
|
21 |
+
|
22 |
+
st.info('###### 📈Процесс обучения моделей, описание Датасета и визуализация метрик вы сможете изучить на странице "Итоги".')
|
23 |
+
|
24 |
+
with st.sidebar:
|
25 |
+
st.warning("📍Выберите любую модель, с помощью которой хотите определить вид отзыва:")
|
26 |
+
|
27 |
+
users_choice = st.radio('Выберите модель:', options=['BERT + LogReg', 'BERT with Tunnig', 'LSTM'], index=None)
|
28 |
+
|
29 |
+
|
30 |
+
if users_choice is not None:
|
31 |
+
review_users = st.text_input('**Пожалуйста, введите свой отзыв:**')
|
32 |
+
|
33 |
+
if review_users is not None and review_users != '':
|
34 |
+
|
35 |
+
with st.sidebar:
|
36 |
+
st.warning('📍Нажмите на кнопку, чтобы получить тип отзыва:')
|
37 |
+
push_button = st.button('Получить тип отзыва >>>')
|
38 |
+
start_time = time.time()
|
39 |
+
|
40 |
+
if users_choice is not None:
|
41 |
+
|
42 |
+
if users_choice == 'BERT + LogReg':
|
43 |
+
if push_button:
|
44 |
+
predict = predict_1(review_users)
|
45 |
+
st.write(f'🦾**Модель «LogReg» предсказала Вашему отзыву следующий класс:** «{REVIEW[predict]}»')
|
46 |
+
st.write(f'🕔**Работа модели «LogReg» и процесс предсказания занял:** {round(time.time() - start_time, 2)} **сек.**')
|
47 |
+
st.warning("- ###### Данная модель имеет склоность отдавать предпочтение Положительному классу! Будьте внимательны!")
|
48 |
+
|
49 |
+
elif users_choice == 'BERT with Tunnig':
|
50 |
+
if push_button:
|
51 |
+
predict = predict_2(review_users)
|
52 |
+
st.write(f'🦾**Модель «BERT with Tunnig» предсказала Вашему отзыву следующий класс:** «{REVIEW[predict]}»')
|
53 |
+
st.write(
|
54 |
+
f'🕔**Работа модели «BERT with Tunnig» и процесс предсказания занял:** {round(time.time() - start_time, 2)} **сек.**')
|
55 |
+
st.warning(
|
56 |
+
"- ###### Данная модель имеет склоность отдавать предпочтение Положительному классу! Будьте внимательны!")
|
57 |
+
|
58 |
+
elif users_choice == 'LSTM':
|
59 |
+
if push_button:
|
60 |
+
predict = predict_3(review_users)
|
61 |
+
st.write(f'🦾**Модель «LSTM» предсказала Вашему отзыву следующий класс:** «{REVIEW[predict]}»')
|
62 |
+
st.write(
|
63 |
+
f'🕔**Работа модели «LSTM» и процесс предсказания занял:** {round(time.time() - start_time, 2)} **сек.**')
|
64 |
+
st.warning(
|
65 |
+
"- ###### Данная модель имеет склоность отдавать предпочтение Положительному классу! Будьте внимательны!")
|