File size: 960 Bytes
879a213 15d8761 0e22a89 879a213 0e22a89 1e6f560 870e8c5 879a213 0e22a89 879a213 5d26f3a 0e22a89 |
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 |
import streamlit as st
from transformers import AutoTokenizer, AutoModelForSequenceClassification, Trainer, TextClassificationPipeline
import operator
def get_sentiment(out):
d = dict()
for k in out.keys():
label = out[k]['label']
score = out[k]['score']
d[label] = score
winning_lab = max(d.iteritems(), key=operator.itemgetter(1))[0]
winning_score = d[winning_lab]
return winning_lab, winning_score
neg = out[0]
neu = out[1]
pos = out[2]
model_name = "mrm8488/distilroberta-finetuned-financial-news-sentiment-analysis"
model = AutoModelForSequenceClassification.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
pipe = TextClassificationPipeline(model=model, tokenizer=tokenizer, return_all_scores=True)
text = st.text_area(f'Ciao! This app uses {model_name}.\nEnter your text to test it ❤️')
if text:
out = pipe(text)
st.json(get_sentiment(out[0])
|