File size: 1,429 Bytes
4b4d3c0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import streamlit as st
from transformers import pipeline, AutoTokenizer, AutoModelForSequenceClassification

# Function to load the pre-trained model
def load_model(model_name):
    tokenizer = AutoTokenizer.from_pretrained(model_name)
    model = AutoModelForSequenceClassification.from_pretrained(model_name)
    sentiment_pipeline = pipeline("sentiment-analysis", tokenizer=tokenizer, model=model)
    return sentiment_pipeline

# Streamlit app
st.title("Basic Sentiment Analysis App")
st.write("Enter a text and select a pre-trained model to get the sentiment analysis.")

# Input text
text = st.text_input("Enter your text:")

# Model selection
model_options = [
    "distilbert-base-uncased-finetuned-sst-2-english",
    "textattack/bert-base-uncased-SST-2",
    "cardiffnlp/twitter-roberta-base-sentiment",
    "nlptown/bert-base-multilingual-uncased-sentiment"
]

selected_model = st.selectbox("Choose a pre-trained model:", model_options)

# Load the model and perform sentiment analysis
if st.button("Analyze"):
    if not text:
        st.write("Please enter a text.")
    else:
        with st.spinner("Analyzing sentiment..."):
            sentiment_pipeline = load_model(selected_model)
            result = sentiment_pipeline(text)
            st.write(f"Sentiment: {result[0]['label']} (confidence: {result[0]['score']:.2f})")
else:
    st.write("Enter a text and click 'Analyze' to perform sentiment analysis.")