Spaces:
Running
Running
import streamlit as st | |
import numpy as np | |
import time | |
from models.LogReg import predict_1 | |
from models.BertTunning import predict_2 | |
from models.LSTM import predict_3 | |
push_button = None | |
REVIEW = {0: 'Отрицательный отзыв', 1: 'Положительный отзыв'} | |
st.write(""" | |
# Модели для предсказания положительных/отрицательных отзывов📝 | |
""") | |
st.info("##### 🤖На данной странице приведены 3 различные модели, способные выполнять, поставленную задачу:" | |
"\n- RuBERT + LogisticRegression" | |
"\n- Fine Tinnig RuBERT with 2 Fully Connected Layers" | |
"\n- Fast Text Vectorizer + LSTM with Attention") | |
st.info('###### 📈Процесс обучения моделей, описание Датасета и визуализация метрик вы сможете изучить на странице "Итоги".') | |
with st.sidebar: | |
st.warning("📍Выберите любую модель, с помощью которой хотите определить вид отзыва:") | |
users_choice = st.radio('Выберите модель:', options=['BERT + LogReg', 'BERT with Tunnig', 'LSTM'], index=None) | |
if users_choice is not None: | |
review_users = st.text_input('**Пожалуйста, введите свой отзыв:**') | |
if review_users is not None and review_users != '': | |
with st.sidebar: | |
st.warning('📍Нажмите на кнопку, чтобы получить тип отзыва:') | |
push_button = st.button('Получить тип отзыва >>>') | |
start_time = time.time() | |
if users_choice is not None: | |
if users_choice == 'BERT + LogReg': | |
if push_button: | |
predict = predict_1(review_users) | |
st.write(f'🦾**Модель «LogReg» предсказала Вашему отзыву следующий класс:** «{REVIEW[predict]}»') | |
st.write(f'🕔**Работа модели «LogReg» и процесс предсказания занял:** {round(time.time() - start_time, 2)} **сек.**') | |
st.warning("- ###### Данная модель имеет склоность отдавать предпочтение Положительному классу! Будьте внимательны!") | |
elif users_choice == 'BERT with Tunnig': | |
if push_button: | |
predict = predict_2(review_users) | |
st.write(f'🦾**Модель «BERT with Tunnig» предсказала Вашему отзыву следующий класс:** «{REVIEW[predict]}»') | |
st.write( | |
f'🕔**Работа модели «BERT with Tunnig» и процесс предсказания занял:** {round(time.time() - start_time, 2)} **сек.**') | |
st.warning( | |
"- ###### Данная модель имеет склоность отдавать предпочтение Положительному классу! Будьте внимательны!") | |
elif users_choice == 'LSTM': | |
if push_button: | |
predict = predict_3(review_users) | |
st.write(f'🦾**Модель «LSTM» предсказала Вашему отзыву следующий класс:** «{REVIEW[predict]}»') | |
st.write( | |
f'🕔**Работа модели «LSTM» и процесс предсказания занял:** {round(time.time() - start_time, 2)} **сек.**') | |
st.warning( | |
"- ###### Данная модель имеет склоность отдавать предпочтение Положительному классу! Будьте внимательны!") |