Jeffrey Rathgeber Jr commited on
Commit
dd57828
·
unverified ·
1 Parent(s): 8e88f49
Files changed (1) hide show
  1. app.py +77 -77
app.py CHANGED
@@ -8,84 +8,84 @@ import torch.nn.functional as F
8
 
9
  textIn = st.text_input("Input Text Here:", "I really like the color of your car!")
10
 
11
- option = st.selectbox('Which pre-trained model would you like for your sentiment analysis?',('Pipeline', 'TextBlob', 'MILESTONE 3: FINE-TUNED'))
12
-
13
- while True:
14
- st.write('You selected:', option)
15
-
16
- if option == 'MILESTONE 3: FINE-TUNED':
17
- polarity = TextBlob(textIn).sentiment.polarity
18
- subjectivity = TextBlob(textIn).sentiment.subjectivity
19
- sentiment = ''
20
- if polarity < 0:
21
- sentiment = 'Negative'
22
- elif polarity == 0:
23
- sentiment = 'Neutral'
24
- else:
25
- sentiment = 'Positive'
26
- st.write('According to TextBlob, input text is ', sentiment, ' and a subjectivity score (from 0 being objective to 1 being subjective) of ', subjectivity)
27
-
28
- # model_name_0 = "Rathgeberj/milestone3_0"
29
- # model_0 = AutoModelForSequenceClassification.from_pretrained(model_name_0)
30
- # tokenizer_0 = AutoTokenizer.from_pretrained(model_name_0)
31
- # classifier_0 = pipeline(task="sentiment-analysis", model=model_0, tokenizer=tokenizer_0)
32
-
33
- # model_name_1 = "Rathgeberj/milestone3_1"
34
- # model_1 = AutoModelForSequenceClassification.from_pretrained(model_name_1)
35
- # tokenizer_1 = AutoTokenizer.from_pretrained(model_name_1)
36
- # classifier_1 = pipeline(task="sentiment-analysis", model=model_1, tokenizer=tokenizer_1)
37
-
38
- # model_name_2 = "Rathgeberj/milestone3_2"
39
- # model_2 = AutoModelForSequenceClassification.from_pretrained(model_name_2)
40
- # tokenizer_2 = AutoTokenizer.from_pretrained(model_name_2)
41
- # classifier_2 = pipeline(task="sentiment-analysis", model=model_2, tokenizer=tokenizer_2)
42
-
43
- # model_name_3 = "Rathgeberj/milestone3_3"
44
- # model_3 = AutoModelForSequenceClassification.from_pretrained(model_name_3)
45
- # tokenizer_3 = AutoTokenizer.from_pretrained(model_name_3)
46
- # classifier_3 = pipeline(task="sentiment-analysis", model=model_3, tokenizer=tokenizer_3)
47
-
48
- # model_name_4 = "Rathgeberj/milestone3_4"
49
- # model_4 = AutoModelForSequenceClassification.from_pretrained(model_name_4)
50
- # tokenizer_4 = AutoTokenizer.from_pretrained(model_name_4)
51
- # classifier_4 = pipeline(task="sentiment-analysis", model=model_4, tokenizer=tokenizer_4)
52
-
53
- # model_name_5 = "Rathgeberj/milestone3_5"
54
- # model_5 = AutoModelForSequenceClassification.from_pretrained(model_name_5)
55
- # tokenizer_5 = AutoTokenizer.from_pretrained(model_name_5)
56
- # classifier_5 = pipeline(task="sentiment-analysis", model=model_5, tokenizer=tokenizer_5)
57
-
58
- # models = [model_0, model_1, model_2, model_3, model_4, model_5]
59
- # tokenizers = [tokenizer_0, tokenizer_1, tokenizer_2, tokenizer_3, tokenizer_4, tokenizer_5]
60
- # classifiers = [classifier_0, classifier_1, classifier_2, classifier_3, classifier_4, classifier_5]
61
-
62
- # X_train = [textIn]
63
- # batch = tokenizer(X_train, padding=True, truncation=True, max_length=512, return_tensors="pt")
64
-
65
-
66
- # st.write('TESTING2')
67
 
68
- if option == 'Pipeline':
69
-
70
- model_name = "distilbert-base-uncased-finetuned-sst-2-english"
71
- model = AutoModelForSequenceClassification.from_pretrained(model_name)
72
- tokenizer = AutoTokenizer.from_pretrained(model_name)
73
- classifier = pipeline(task="sentiment-analysis", model=model, tokenizer=tokenizer)
74
- preds = classifier(textIn)
75
- preds = [{"score": round(pred["score"], 4), "label": pred["label"]} for pred in preds]
76
- st.write('According to Pipeline, input text is ', preds[0]['label'], ' with a confidence of ', preds[0]['score'])
77
-
78
- # if option == 'TextBlob':
79
- # polarity = TextBlob(textIn).sentiment.polarity
80
- # subjectivity = TextBlob(textIn).sentiment.subjectivity
81
- # sentiment = ''
82
- # if polarity < 0:
83
- # sentiment = 'Negative'
84
- # elif polarity == 0:
85
- # sentiment = 'Neutral'
86
- # else:
87
- # sentiment = 'Positive'
88
- # st.write('According to TextBlob, input text is ', sentiment, ' and a subjectivity score (from 0 being objective to 1 being subjective) of ', subjectivity)
 
 
89
 
90
 
91
  #------------------------------------------------------------------------
 
8
 
9
  textIn = st.text_input("Input Text Here:", "I really like the color of your car!")
10
 
11
+ # option = st.selectbox('Which pre-trained model would you like for your sentiment analysis?',('Pipeline', 'TextBlob', 'MILESTONE 3: FINE-TUNED'))
12
+ option = st.selectbox('Which pre-trained model would you like for your sentiment analysis?',('MILESTONE 3: FINE-TUNED', 'Pipeline'))
13
+
14
+ st.write('You selected:', option)
15
+
16
+ if option == 'MILESTONE 3: FINE-TUNED':
17
+ polarity = TextBlob(textIn).sentiment.polarity
18
+ subjectivity = TextBlob(textIn).sentiment.subjectivity
19
+ sentiment = ''
20
+ if polarity < 0:
21
+ sentiment = 'Negative'
22
+ elif polarity == 0:
23
+ sentiment = 'Neutral'
24
+ else:
25
+ sentiment = 'Positive'
26
+ st.write('According to TextBlob, input text is ', sentiment, ' and a subjectivity score (from 0 being objective to 1 being subjective) of ', subjectivity)
27
+
28
+ # model_name_0 = "Rathgeberj/milestone3_0"
29
+ # model_0 = AutoModelForSequenceClassification.from_pretrained(model_name_0)
30
+ # tokenizer_0 = AutoTokenizer.from_pretrained(model_name_0)
31
+ # classifier_0 = pipeline(task="sentiment-analysis", model=model_0, tokenizer=tokenizer_0)
32
+
33
+ # model_name_1 = "Rathgeberj/milestone3_1"
34
+ # model_1 = AutoModelForSequenceClassification.from_pretrained(model_name_1)
35
+ # tokenizer_1 = AutoTokenizer.from_pretrained(model_name_1)
36
+ # classifier_1 = pipeline(task="sentiment-analysis", model=model_1, tokenizer=tokenizer_1)
37
+
38
+ # model_name_2 = "Rathgeberj/milestone3_2"
39
+ # model_2 = AutoModelForSequenceClassification.from_pretrained(model_name_2)
40
+ # tokenizer_2 = AutoTokenizer.from_pretrained(model_name_2)
41
+ # classifier_2 = pipeline(task="sentiment-analysis", model=model_2, tokenizer=tokenizer_2)
42
+
43
+ # model_name_3 = "Rathgeberj/milestone3_3"
44
+ # model_3 = AutoModelForSequenceClassification.from_pretrained(model_name_3)
45
+ # tokenizer_3 = AutoTokenizer.from_pretrained(model_name_3)
46
+ # classifier_3 = pipeline(task="sentiment-analysis", model=model_3, tokenizer=tokenizer_3)
47
+
48
+ # model_name_4 = "Rathgeberj/milestone3_4"
49
+ # model_4 = AutoModelForSequenceClassification.from_pretrained(model_name_4)
50
+ # tokenizer_4 = AutoTokenizer.from_pretrained(model_name_4)
51
+ # classifier_4 = pipeline(task="sentiment-analysis", model=model_4, tokenizer=tokenizer_4)
52
+
53
+ # model_name_5 = "Rathgeberj/milestone3_5"
54
+ # model_5 = AutoModelForSequenceClassification.from_pretrained(model_name_5)
55
+ # tokenizer_5 = AutoTokenizer.from_pretrained(model_name_5)
56
+ # classifier_5 = pipeline(task="sentiment-analysis", model=model_5, tokenizer=tokenizer_5)
57
+
58
+ # models = [model_0, model_1, model_2, model_3, model_4, model_5]
59
+ # tokenizers = [tokenizer_0, tokenizer_1, tokenizer_2, tokenizer_3, tokenizer_4, tokenizer_5]
60
+ # classifiers = [classifier_0, classifier_1, classifier_2, classifier_3, classifier_4, classifier_5]
61
+
62
+ # X_train = [textIn]
63
+ # batch = tokenizer(X_train, padding=True, truncation=True, max_length=512, return_tensors="pt")
64
+
 
 
65
 
66
+ # st.write('TESTING2')
67
+
68
+ if option == 'Pipeline':
69
+
70
+ model_name = "distilbert-base-uncased-finetuned-sst-2-english"
71
+ model = AutoModelForSequenceClassification.from_pretrained(model_name)
72
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
73
+ classifier = pipeline(task="sentiment-analysis", model=model, tokenizer=tokenizer)
74
+ preds = classifier(textIn)
75
+ preds = [{"score": round(pred["score"], 4), "label": pred["label"]} for pred in preds]
76
+ st.write('According to Pipeline, input text is ', preds[0]['label'], ' with a confidence of ', preds[0]['score'])
77
+
78
+ # if option == 'TextBlob':
79
+ # polarity = TextBlob(textIn).sentiment.polarity
80
+ # subjectivity = TextBlob(textIn).sentiment.subjectivity
81
+ # sentiment = ''
82
+ # if polarity < 0:
83
+ # sentiment = 'Negative'
84
+ # elif polarity == 0:
85
+ # sentiment = 'Neutral'
86
+ # else:
87
+ # sentiment = 'Positive'
88
+ # st.write('According to TextBlob, input text is ', sentiment, ' and a subjectivity score (from 0 being objective to 1 being subjective) of ', subjectivity)
89
 
90
 
91
  #------------------------------------------------------------------------