Ruslan-DS commited on
Commit
e717656
1 Parent(s): ccfacd8

Update pages/classification_reviews.py

Browse files
Files changed (1) hide show
  1. pages/classification_reviews.py +65 -0
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
+ "- ###### Данная модель имеет склоность отдавать предпочтение Положительному классу! Будьте внимательны!")