Nlp_ / app.py
osheina's picture
Update app.py
41eba6b verified
raw
history blame
2.48 kB
import streamlit as st
import torch
import requests
import time
import numpy as np
import os
from toxic1 import toxicity_page
from strim_nlp import classic_ml_page
from lstm import lstm_model_page
from bert_strim import bert_model_page
import pandas as pd
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('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()