kyled's picture
Added tokenizers package
6a076de
import streamlit as st
import transformers as t
import plotly.express as px
import pandas as pd
st.title("Phrase Emotion Analysis")
with st.spinner(text="Loading model..."):
classifier = t.pipeline("zero-shot-classification",
model="facebook/bart-large-mnli",
multi_class=True)
sentiment_task = t.pipeline("sentiment-analysis",
model="cardiffnlp/twitter-xlm-roberta-base-sentiment",
tokenizer="cardiffnlp/twitter-xlm-roberta-base-sentiment")
x = st.text_input("Enter your title here:")
candidate_labels = ['anger', 'sadness', 'fear', 'joy', 'interest',
'surprise', 'disgust', 'shame', 'compassion', 'other']
if x != "":
with st.spinner(text="Evaluating your input..."):
output = classifier(x, candidate_labels)
sentiment = sentiment_task(x)
st.write(str(sentiment))
ordered_results = []
for lbl in candidate_labels:
ind = output['labels'].index(lbl)
ordered_results.append(output['scores'][ind])
df = pd.DataFrame(dict(r=ordered_results, theta=candidate_labels))
fig = px.line_polar(df, r='r', theta='theta', line_close=True)
fig.update_traces(fill='toself')
st.plotly_chart(fig)