Ahmad-Moiz's picture
Update app.py
e91630e
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,
)