thushalya commited on
Commit
6907c28
1 Parent(s): aea70a5

Add bar plot for emotions

Browse files
Files changed (1) hide show
  1. app.py +26 -2
app.py CHANGED
@@ -18,6 +18,7 @@ from torch.utils.data import Dataset, DataLoader
18
  import torch.nn as nn
19
  import os
20
  from dotenv import load_dotenv
 
21
  load_dotenv()
22
 
23
 
@@ -220,6 +221,7 @@ def load_model(tweet):
220
  print(inputs)
221
  emotion_list = calc_emotion_score(tweet)
222
  print(emotion_list)
 
223
 
224
  features_list = extract_features(tweet)
225
  for i in features_list.values():
@@ -358,22 +360,44 @@ def load_model(tweet):
358
  return pred
359
 
360
  predicted_class = predict_single_text(model, inputs, device)
361
- return predicted_class
362
  # print("Hate speech result",predicted_class)
363
 
364
 
365
 
366
 
367
  #Gradio interface
 
368
  def greet(tweet):
369
  print("start")
370
- prediction = load_model(tweet)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
371
  prediction_value = round(prediction.item(),2)
372
  # features_list = extract_features(tweet)
373
  # print(personality_detection(tweet))
374
  # print(str(features_list["Average_Word_Length"]))
375
  # print(calc_emotion_score(tweet))
376
  predicted_class = torch.round(prediction).item()
 
 
377
  print("end")
378
  if (predicted_class==0.0):
379
  label = "Non Hate"
 
18
  import torch.nn as nn
19
  import os
20
  from dotenv import load_dotenv
21
+ import pandas as pd
22
  load_dotenv()
23
 
24
 
 
221
  print(inputs)
222
  emotion_list = calc_emotion_score(tweet)
223
  print(emotion_list)
224
+ preemotion_list = emotion_list[:]
225
 
226
  features_list = extract_features(tweet)
227
  for i in features_list.values():
 
360
  return pred
361
 
362
  predicted_class = predict_single_text(model, inputs, device)
363
+ return predicted_class,preemotion_list,personality_list
364
  # print("Hate speech result",predicted_class)
365
 
366
 
367
 
368
 
369
  #Gradio interface
370
+ simple = None
371
  def greet(tweet):
372
  print("start")
373
+ prediction,preemotion_list,personality_list = load_model(tweet)
374
+ preemotion_list = [x * 100 for x in preemotion_list]
375
+ simple = pd.DataFrame(
376
+ {
377
+ "keys": ["Anger", "Anticipation", "Disgust", "Fear", "Joy", "Love", "Optimism", "Pessimism", "Sadness","Surprise","Trust"],
378
+ "values": preemotion_list,
379
+ }
380
+ )
381
+ with gr.Blocks() as bar_plot:
382
+ bar_plot.load(outputs= gr.BarPlot(
383
+ simple,
384
+ x="Emotions",
385
+ y="Values",
386
+ title="Simple Bar Plot with made up data",
387
+ tooltip=["a", "b"],
388
+ y_lim=[20, 100],
389
+ ))
390
+
391
+ bar_plot.launch()
392
+
393
  prediction_value = round(prediction.item(),2)
394
  # features_list = extract_features(tweet)
395
  # print(personality_detection(tweet))
396
  # print(str(features_list["Average_Word_Length"]))
397
  # print(calc_emotion_score(tweet))
398
  predicted_class = torch.round(prediction).item()
399
+ print(preemotion_list)
400
+ print(personality_list)
401
  print("end")
402
  if (predicted_class==0.0):
403
  label = "Non Hate"