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!')