MatteoFasulo commited on
Commit
b3b327d
·
1 Parent(s): fbdaedd

Fix missing comma

Browse files
Files changed (1) hide show
  1. app.py +12 -1
app.py CHANGED
@@ -1,8 +1,14 @@
1
  import gradio as gr
 
 
 
 
2
 
 
3
  model_card = "microsoft/mdeberta-v3-base"
4
  finetuned_model = "MatteoFasulo/mdeberta-v3-base-subjectivity-sentiment-multilingual"
5
 
 
6
  class CustomModel(PreTrainedModel):
7
  config_class = DebertaV2Config
8
 
@@ -32,6 +38,7 @@ class CustomModel(PreTrainedModel):
32
 
33
  return {'logits': logits}
34
 
 
35
  def load_tokenizer(model_name: str):
36
  return AutoTokenizer.from_pretrained(model_name)
37
 
@@ -52,11 +59,13 @@ def load_model(model_card: str, finetuned_model: str):
52
 
53
  return model
54
 
 
55
  def get_sentiment_values(text: str):
56
  pipe = pipeline("sentiment-analysis", model="cardiffnlp/twitter-xlm-roberta-base-sentiment", tokenizer="cardiffnlp/twitter-xlm-roberta-base-sentiment", top_k=None)
57
  sentiments = pipe(text)[0]
58
  return {k:v for k,v in [(list(sentiment.values())[0], list(sentiment.values())[1]) for sentiment in sentiments]}
59
 
 
60
  def predict_subjectivity(text):
61
  sentiment_values = get_sentiment_values(text)
62
 
@@ -73,6 +82,7 @@ def predict_subjectivity(text):
73
 
74
  return predicted_class
75
 
 
76
  demo = gr.Interface(
77
  fn=predict_subjectivity,
78
  inputs=gr.Textbox(
@@ -85,8 +95,9 @@ demo = gr.Interface(
85
  info="Whether the sentence is subjective or objective."
86
  ),
87
  title='Subjectivity Detection',
88
- description='Detect if a sentence is subjective or objective using a pre-trained model.'
89
  theme='huggingface',
90
  )
91
 
 
92
  demo.launch()
 
1
  import gradio as gr
2
+ import torch
3
+ from transformers import DebertaV2Model, DebertaV2Config, AutoTokenizer, PreTrainedModel, ContextPooler
4
+ from transformers import pipeline
5
+ import torch.nn as nn
6
 
7
+ # Define the model and tokenizer
8
  model_card = "microsoft/mdeberta-v3-base"
9
  finetuned_model = "MatteoFasulo/mdeberta-v3-base-subjectivity-sentiment-multilingual"
10
 
11
+ # Custom model class for combining sentiment analysis with subjectivity detection
12
  class CustomModel(PreTrainedModel):
13
  config_class = DebertaV2Config
14
 
 
38
 
39
  return {'logits': logits}
40
 
41
+ # Load the pre-trained tokenizer
42
  def load_tokenizer(model_name: str):
43
  return AutoTokenizer.from_pretrained(model_name)
44
 
 
59
 
60
  return model
61
 
62
+ # Get sentiment values using a pre-trained sentiment analysis model
63
  def get_sentiment_values(text: str):
64
  pipe = pipeline("sentiment-analysis", model="cardiffnlp/twitter-xlm-roberta-base-sentiment", tokenizer="cardiffnlp/twitter-xlm-roberta-base-sentiment", top_k=None)
65
  sentiments = pipe(text)[0]
66
  return {k:v for k,v in [(list(sentiment.values())[0], list(sentiment.values())[1]) for sentiment in sentiments]}
67
 
68
+ # Predict the subjectivity of a sentence
69
  def predict_subjectivity(text):
70
  sentiment_values = get_sentiment_values(text)
71
 
 
82
 
83
  return predicted_class
84
 
85
+ # Create a Gradio interface
86
  demo = gr.Interface(
87
  fn=predict_subjectivity,
88
  inputs=gr.Textbox(
 
95
  info="Whether the sentence is subjective or objective."
96
  ),
97
  title='Subjectivity Detection',
98
+ description='Detect if a sentence is subjective or objective using a pre-trained model.',
99
  theme='huggingface',
100
  )
101
 
102
+ # Launch the interface
103
  demo.launch()