Spaces:
Runtime error
Runtime error
File size: 2,081 Bytes
aa7f5a4 bd8d813 aa7f5a4 734dda1 bd8d813 6c5dac1 bd8d813 09de9ab 6c5dac1 bd8d813 09de9ab 6c5dac1 bd8d813 aa7f5a4 13c3404 |
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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
import streamlit as st #Web App
from transformers import pipeline
from pysentimiento import create_analyzer
model = st.selectbox("Which pretrained model would you like to use?",("DistilBERT","twitter-XLM-roBERTa-base","bertweet-sentiment-analysis"))
#title
st.title("Sentiment Analysis - Classify Sentiment of text")
data = []
text = st.text_input("Enter text here:","Artificial Intelligence is useful")
data.append(text)
if model == "DistilBERT":
#1
if st.button("Run Sentiment Analysis of Text"):
model_path = "distilbert-base-uncased-finetuned-sst-2-english"
sentiment_pipeline = pipeline("sentiment-analysis",model=model_path, tokenizer=model_path)
result = sentiment_pipeline(data)
label = result[0]["label"]
score = result[0]["score"]
st.write("The classification of the given text is " + label + " with a score of " + str(score))
elif model == "twitter-XLM-roBERTa-base":
#2
if st.button("Run Sentiment Analysis of Text"):
model_path = "cardiffnlp/twitter-xlm-roberta-base-sentiment"
sentiment_task = pipeline("sentiment-analysis", model=model_path, tokenizer=model_path)
result = sentiment_task(text)
label = result[0]["label"]
score = result[0]["score"]
st.write("The classification of the given text is " + label + " with a score of " + str(score))
elif model == "bertweet-sentiment-analysis":
#3
if st.button("Run Sentiment Analysis of Text"):
analyzer = create_analyzer(task="sentiment", lang="en")
result = analyzer.predict(text)
if result.output == "POS":
label = "POSITIVE"
elif result.output == "NEU":
label = "NEUTRAL"
else:
label = "NEGATIVE"
neg = result.probas["NEG"]
pos = result.probas["POS"]
neu = result.probas["NEU"]
st.write("The classification of the given text is " + label + " with the percentages broken down as: Positive - " + str(pos) + ", Neutral - " + str(neu) + ", Negative - " + str(neg))
|