Spaces:
Runtime error
Runtime error
import streamlit as st | |
import transformers | |
import torch | |
# Define sentiment analysis models | |
models = { | |
"DistilBERT": transformers.pipeline("sentiment-analysis", model="distilbert-base-uncased-finetuned-sst-2-english"), | |
"BERT": transformers.pipeline("sentiment-analysis", model="bert-base-uncased-finetuned-sst-2-english"), | |
"RoBERTa": transformers.pipeline("sentiment-analysis", model="roberta-base-openai-detector"), | |
} | |
# Define function to analyze sentiment using selected model | |
def analyze_sentiment(text, model_name): | |
model = models[model_name] | |
result = model(text)[0] | |
return result['label'], result['score'] | |
# Define Streamlit app | |
def app(): | |
st.title("Sentiment Analysis App") | |
# User input | |
text = st.text_area("Enter text to analyze", max_chars=1024) | |
# Sentiment analysis | |
if st.button("Analyze"): | |
st.write("Analyzing sentiment...") | |
with st.spinner("Wait for it..."): | |
results = [] | |
for model_name in models: | |
label, score = analyze_sentiment(text, model_name) | |
results.append((model_name, label, score)) | |
st.success("Sentiment analysis complete!") | |
st.write("Results:") | |
for model_name, label, score in results: | |
st.write(f"- {model_name}: {label} ({score:.2f})") | |
# Run Streamlit app | |
if __name__ == "__main__": | |
app() | |