| import streamlit as st | |
| from models.rubert_MODEL import classify_text | |
| from models.bag_of_words_MODEL import predict | |
| from models.lstm_MODEL import predict_review | |
| import time | |
| class_prefix = 'This review is likely...' | |
| st.title("Movie Review Classification") | |
| st.write("This page will compare three models: Bag of Words/TF-IDF, LSTM, and BERT.") | |
| # Example placeholder for user input | |
| user_input = st.text_area("") | |
| if st.button('Classify with All Models'): | |
| # Measure and display Bag of Words/TF-IDF prediction time | |
| start_time = time.time() | |
| bow_tfidf_result = predict(user_input) | |
| end_time = time.time() | |
| st.write(f'{class_prefix} {bow_tfidf_result} according to Bag of Words/TF-IDF. Time taken: {end_time - start_time:.2f} seconds.') | |
| # Measure and display LSTM prediction time | |
| start_time = time.time() | |
| lstm_result = predict_review(user_input) | |
| end_time = time.time() | |
| st.write(f'{class_prefix} {lstm_result} according to LSTM. Time taken: {end_time - start_time:.2f} seconds.') | |
| # Measure and display ruBERT prediction time | |
| start_time = time.time() | |
| rubert_result = classify_text(user_input) | |
| end_time = time.time() | |
| st.write(f'{class_prefix} {rubert_result} according to ruBERT. Time taken: {end_time - start_time:.2f} seconds.') | |
| # Placeholder buttons for model selection | |
| # if st.button('Classify with BoW/TF-IDF'): | |
| # st.write(f'{class_prefix}{predict(user_input)}') | |
| # if st.button('Classify with LSTM'): | |
| # st.write(f'{class_prefix}{predict_review(user_input)}') | |
| # if st.button('Classify with ruBERT'): | |
| # st.write(f'{class_prefix}{classify_text(user_input)}') |