Nlp_proj / app.py
Veronika1101's picture
Update app.py
8017073 verified
raw history blame
No virus
2.86 kB
import streamlit as st
import torch
import requests
import time
import numpy as np
import os
from Models.toxic1 import toxicity_page
from Models.strim_nlp import classic_ml_page
from Models.lstm import lstm_model_page
from Models.bert_strim import bert_model_page
import base64
import pandas as pd
background_image = 'Data/chad_806facbe78804299a9eeeab5fb0a387b_3.png'
st.markdown(
f"""
<style>
.reportview-container {{
background: url(data:image/jpeg;base64,{base64.b64encode(open(background_image, "rb").read()).decode()});
background-size: cover;
}}
</style>
""", unsafe_allow_html=True
)
def app_description_page():
st.title("Welcome to My App!")
st.markdown("<h3 style='font-size: 18px;'>This is a Streamlit application where you can explore four different models.</h3>", unsafe_allow_html=True)
st.markdown("<h3 style='font-size: 18px;'>About the project:</h3>", unsafe_allow_html=True)
st.markdown("<h3 style='font-size: 18px;'>The task is to train 3 different models on a dataset that contains reviews about the clinic.</h3>", unsafe_allow_html=True)
st.markdown("<h3 style='font-size: 18px;'>You can write text and the model will classify it as “Negative” or “Positive”</h3>", unsafe_allow_html=True)
data = {
"Model": ["CatBoostClassifier", "LSTM", "Rubert-tiny2", "Rubert-tiny-toxicity"],
"F1 metric": [0.87, 0.94, 0.90, 0.84]
}
df = pd.DataFrame(data)
st.markdown("<h3 style='font-size: 18px;'>Models:</h3>", unsafe_allow_html=True)
st.markdown("<h3 style='font-size: 18px;'>1. CatBoostClassifier trained on TF-IDF </h3>", unsafe_allow_html=True)
st.markdown("<h3 style='font-size: 18px;'>2. LSTM with BahdanauAttention </h3>", unsafe_allow_html=True)
st.markdown("<h3 style='font-size: 18px;'>3. Rubert-tiny2 </h3>", unsafe_allow_html=True)
st.markdown("<h3 style='font-size: 18px;'>4. Rubert-tiny-toxicity </h3>", unsafe_allow_html=True)
st.dataframe(df)
st.image('Data/20182704132259.jpg', use_column_width=True)
def model_selection_page():
st.sidebar.title("Model Selection")
selected_model = st.sidebar.radio("Select a model", ("Classic ML", "LSTM", "BERT"))
if selected_model == "Classic ML":
classic_ml_page()
st.write("You selected Classic ML.")
elif selected_model == "LSTM":
lstm_model_page()
st.write("You selected LSTM.")
elif selected_model == "BERT":
bert_model_page()
st.write("You selected BERT.")
def main():
page = st.sidebar.radio("Go to", ("App Description", "Model Selection", "Toxicity Model"))
if page == "App Description":
app_description_page()
elif page == "Model Selection":
model_selection_page()
elif page == "Toxicity Model":
toxicity_page()
if __name__ == "__main__":
main()