Spaces:
Sleeping
Sleeping
| 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( | |
| "- ###### Данная модель имеет склоность отдавать предпочтение Положительному классу! Будьте внимательны!") |