Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| from transformers import pipeline | |
| model_path = "citizenlab/twitter-xlm-roberta-base-sentiment-finetunned" | |
| st.set_page_config(page_title="Sentiment Analysis App", layout="wide") | |
| # Set the background color of the Streamlit app using CSS | |
| st.markdown( | |
| """ | |
| <style> | |
| body { | |
| background-color: #FFA500; /* Orange color */ | |
| } | |
| </style> | |
| """, | |
| unsafe_allow_html=True, | |
| ) | |
| sentiment_classifier = pipeline("text-classification", model=model_path) | |
| st.title("Sentiment Analysis App") | |
| user_input = st.text_area("Enter a message:", height=150) | |
| if st.button( | |
| "Analyze Sentiment π", key="analyze_button", help="Click to analyze sentiment", | |
| background_color="black", text_color="white", border_radius=5 | |
| ): | |
| if user_input: | |
| # Perform sentiment analysis | |
| st.markdown("---") | |
| with st.spinner('Analyzing...'): | |
| results = sentiment_classifier(user_input) | |
| sentiment_label = results[0]["label"] | |
| sentiment_score = results[0]["score"] | |
| st.success("Analysis Complete! π") | |
| st.write("") | |
| st.subheader("Sentiment Analysis Result") | |
| st.write(f"**Sentiment:** {sentiment_label}") | |
| st.write(f"**Confidence Score:** {sentiment_score:.2f}") | |
| # Set button colors based on sentiment | |
| if sentiment_label == "positive": | |
| button_color = "#3399ff" # blue color for positive sentiment | |
| elif sentiment_label == "negative": | |
| button_color = "#ff3333" # red color for negative sentiment | |
| else: | |
| button_color = "#ff66cc" # pink color for neutral sentiment | |
| st.markdown( | |
| f'<a style="background-color:{button_color};color:white;text-decoration:none;padding:8px 12px;' | |
| f"border-radius:5px;display:inline-block;margin-top:15px;" | |
| f'font-weight:bold;" href="https://www.streamlit.io/">' | |
| f'Share Analysis on Streamlit <span style="font-size:20px;">π</span></a>', | |
| unsafe_allow_html=True, | |
| ) | |