sentiment / app.py
yvespeirsman's picture
First version of space
d796673
import streamlit as st
from transformers import pipeline
label2stars = {
1: "⭐️",
2: "⭐️⭐️",
3: "⭐️⭐️⭐️",
4: "⭐️⭐️⭐️⭐️",
5: "⭐️⭐️⭐️⭐️⭐️",
"1 star": "⭐️",
"2 stars": "⭐️⭐️",
"3 stars": "⭐️⭐️⭐️",
"4 stars": "⭐️⭐️⭐️⭐️",
"5 stars": "⭐️⭐️⭐️⭐️⭐️",
}
@st.cache_resource
def load_model(model_id):
return pipeline("sentiment-analysis", model=model_id)
bert_model = load_model("nlptown/bert-base-multilingual-uncased-sentiment")
modernbert_model = load_model("nlptown/ModernBERT-base-sentiment-20241228")
st.title("NLP Town Sentiment Analysis")
example1 = "I have sensitive eyes and this is non-irritating. My eyes water a lot and that often leads to product getting into my eyes and causing stinging and or burning in the eye area. This cream has not bothered me at all."
example2 = "Very natural, light weight and good quality. I use on brides who are not used to lashes but still want a bit of length and definition."
example3 = "I have to admit that I'm very new to meditation and guided imagery, but I found the suggested imagery of a \"guardian\" closing the drapes in my bedroom and then sitting next to my bed while I was sleeping to be unnerving. I was wide awake at the end of the CD and was completely disappointed with this purchase. I'm glad that I am able to return it."
example4 = "Catchy promises, little delivery."
option = st.selectbox("Examples", [example1, example2, example3, example4], index=None, placeholder='Select an example or enter your text below')
query = st.text_area("Enter your text here", value=option)
click = st.button("Analyze", type="primary")
if query or click:
bert_result = bert_model(query)[0]
modernbert_result = modernbert_model(query)[0]
col1, col2 = st.columns([3, 1])
with col1:
st.write("[nlptown/bert-base-multilingual-uncased-sentiment](https://huggingface.co/nlptown/bert-base-multilingual-uncased-sentiment):")
st.write("[nlptown/ModernBERT-base-sentiment](https://www.nlp.town):")
with col2:
st.write(label2stars[bert_result['label']])
st.write(label2stars[modernbert_result['label']])