File size: 1,898 Bytes
33dbef6 29e4959 228c4b8 29e4959 33dbef6 f2a478c 8e37781 d60cca6 f2a478c d60cca6 f2a478c 33dbef6 228c4b8 a07ca53 f2a478c 93f97ce f2a478c 228c4b8 3cf166b 9d3ef8a 228c4b8 9d3ef8a 29e4959 33dbef6 d60cca6 8ac658c f936c34 33dbef6 d60cca6 |
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 55 56 57 |
import streamlit as st #Web App
from transformers import pipeline
from transformers import AutoTokenizer, AutoModelForSequenceClassification
#title
st.title("Sentiment Analysis")
def analyze(input, model):
return "This is a sample output"
# load my fine-tuned model
fine_tuned = "jbraha/tweet-bert"
labels = {'LABEL_0': 'toxic', 'LABEL_1': 'severe_toxic', 'LABEL_2': 'obscene', 'LABEL_3': 'threat',
'LABEL_4': 'insult', 'LABEL_5': 'identity_hate'}
# make a dictionary of the labels with keys like "LABEL_0" and values like "toxic"
#text insert
input = st.text_area("insert text to be analyzed", value="Nice to see you today.",
height=None, max_chars=None, key=None, help=None, on_change=None,
args=None, kwargs=None, placeholder=None, disabled=False,
label_visibility="visible")
option = st.selectbox(
'Choose a transformer model:',
('Default', 'Fine-Tuned' , 'Roberta'))
if option == 'Fine-Tuned':
model = AutoModelForSequenceClassification.from_pretrained(fine_tuned)
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
classifier = pipeline('sentiment-analysis', model=model, tokenizer=tokenizer)
elif option == 'Roberta':
model = AutoModelForSequenceClassification.from_pretrained("cardiffnlp/twitter-roberta-base-sentiment")
tokenizer = AutoTokenizer.from_pretrained("cardiffnlp/twitter-roberta-base-sentiment")
classifier = pipeline('sentiment-analysis', model=model, tokenizer=tokenizer)
else:
classifier = pipeline('sentiment-analysis')
if st.button('Analyze'):
result = classifier(input)
if option == 'Fine-tuned':
output = {'Toxic': result['LABEL_0']}
del result['LABEL_0']
output[max(result, key=result.get)] = result[max(result, key=result.get)]
st.write(output)
else:
st.write('Excited to analyze!')
|