File size: 1,597 Bytes
7f8de92
 
0934d02
d077642
70f481c
3754612
 
0f64e73
5d5484f
d077642
0f64e73
17bb76c
854d0de
a2a9b24
 
0934d02
17bb76c
 
be6580d
a2a9b24
 
 
34b533c
17bb76c
 
be6580d
5d5484f
61af1a8
5d5484f
 
 
 
 
 
 
 
 
 
 
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
import streamlit as st
from transformers import pipeline 

st.title("Milestone #2 offensive statement prediction with pre-trained models")
st.write("in this basic demo you can select a model to judge whether or not the text below is offensive")
text = "The mail man looks dumb"
st.write(text)

options = ["zero-shot-classification", "cardiffnlp/twitter-roberta-base-offensive", "Greys/milestonemodel"]
model = st.selectbox("Select a  pre-trained model", options)

con = st.button("Submit")
if con:
  if model == "zero-shot-classification":
    classifier = pipeline(model)
    res = classifier(text, candidate_labels=["offensive"])
    label = res['labels'][0]
    score = res['scores'][0]
    st.write(f"Prediction: {label}, Score: {score*100}% chance")
  
  if model == "cardiffnlp/twitter-roberta-base-offensive":
    classifier = pipeline('text-classification', model='cardiffnlp/twitter-roberta-base-offensive', tokenizer='cardiffnlp/twitter-roberta-base-offensive')
    result = classifier(text)
    label = result[0]['label']
    score = result[0]['score']
    st.write(f"Prediction: {label}, Score: {score*100}% chance")
    
  if model == "Greys/milestonemodel":
  
    tokenizer = AutoTokenizer.from_pretrained("distilbert-base-uncased")
    model = AutoModelForSequenceClassification.from_pretrained("Greys/milestonemodel")

    def classify_sentence(sentence):
      inputs = tokenizer(sentence, return_tensors="pt")
      outputs = model(**inputs)
      probs = outputs.logits.softmax(dim=1)
      return probs.detach().numpy()[0]
    probs = classify_sentence(text)
    print(probs)