Spaces:
Sleeping
Sleeping
import streamlit as st | |
import prediction | |
import eda | |
# Function to display the sentiment prediction | |
def get_prediction(text): | |
return prediction.predict_sentiment(text) | |
# Main function for the Streamlit app | |
def main(): | |
st.title("Sentiment Analysis App") | |
menu = ["Home", "Sentiment Prediction", "Exploratory Data Analysis"] | |
choice = st.sidebar.selectbox("Menu", menu) | |
if choice == "Home": | |
st.write(""" | |
## Welcome to the Sentiment Analysis App! | |
Navigate to the menu on the left to: | |
- Predict the sentiment of a given review text. | |
- View exploratory data analysis visuals. | |
""") | |
elif choice == "Sentiment Prediction": | |
st.write(""" | |
### Sentiment Prediction | |
Enter a review text below to predict its sentiment. | |
""") | |
# Create a text input widget | |
text = st.text_area("Enter the review text:") | |
if st.button("Predict"): | |
sentiment = get_prediction(text) | |
st.success(f"The sentiment of the review is: **{sentiment}**") | |
elif choice == "Exploratory Data Analysis": | |
st.write(""" | |
### Exploratory Data Analysis | |
View visualizations derived from the dataset. | |
""") | |
# Display wordcloud | |
st.write("### Word Cloud for Reviews") | |
st.pyplot(eda.visualize_wordcloud()) | |
# Display review lengths distribution | |
st.write("### Distribution of Review Lengths") | |
st.pyplot(eda.plot_review_lengths()) | |
# Display rating distribution | |
st.write("### Rating Distribution") | |
st.pyplot(eda.rating_distribution()) | |
if __name__ == '__main__': | |
main() | |