SmitaGautam commited on
Commit
30d7990
·
verified ·
1 Parent(s): 038fecc

Upload 4 files

Browse files
Files changed (4) hide show
  1. app.py +81 -0
  2. requirements.txt +1 -0
  3. results.json +274 -0
  4. sarcasm_data.json +0 -0
app.py ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import os
3
+ import json
4
+
5
+ with open('results.json', 'r') as f:
6
+ results_data = json.load(f)
7
+
8
+ with open('sarcasm_data.json', 'r') as f:
9
+ sarcasm_data = json.load(f)
10
+
11
+ def get_dialogues_and_result(id):
12
+ result = next((item for item in results_data if item['id'] == id), None)
13
+ if not result:
14
+ return f"ID {id} not found in results.json"
15
+
16
+ sarcasm_info = sarcasm_data.get(id)
17
+ if not sarcasm_info:
18
+ return f"ID {id} not found in sarcasm_data.json"
19
+
20
+ utterance = f"{sarcasm_info['speaker']}: {sarcasm_info['utterance']}"
21
+ context = "\n".join(
22
+ f"{speaker}: {line}" for speaker, line in zip(sarcasm_info['context_speakers'], sarcasm_info['context'])
23
+ )
24
+
25
+ output = {
26
+ "id": id,
27
+ "utterance": utterance,
28
+ "context": context,
29
+ "sarcasm": result['sarcasm']
30
+ }
31
+
32
+ return output
33
+
34
+ def analyze_videos(utterance_filename):
35
+ utterance_id = os.path.splitext(os.path.basename(utterance_filename))[0]
36
+ output = get_dialogues_and_result(utterance_id)
37
+
38
+ return (
39
+ output["context"],
40
+ output["utterance"],
41
+ output["sarcasm"]
42
+ )
43
+
44
+ def custom_css():
45
+ return """
46
+ .gradio-heading {
47
+ text-align: center;
48
+ color: #0056b3;
49
+ font-size: 28px;
50
+ font-weight: bold;
51
+ margin-bottom: 20px;
52
+ }
53
+ """
54
+
55
+ css_style = custom_css()
56
+
57
+ with gr.Blocks(css=css_style) as interface:
58
+ gr.Markdown("<div class='gradio-heading'>Sarcasm Detection Tool</div>")
59
+ with gr.Row():
60
+ with gr.Column(scale=1):
61
+ context_video_input = gr.Video(label="Upload Context Video")
62
+ punchline_video_input = gr.Video(label="Upload Punchline Video")
63
+ with gr.Column(scale=2):
64
+ context_dialogue_output = gr.Textbox(label="Context Dialogues")
65
+ punchline_dialogue_output = gr.Textbox(label="Punchline Dialogue")
66
+ punchline_sarcasm_output = gr.Label(label="Sarcasm")
67
+
68
+ submit_button = gr.Button("Submit")
69
+
70
+ submit_button.click(
71
+ fn=analyze_videos,
72
+ inputs=[punchline_video_input],
73
+ outputs=[
74
+ context_dialogue_output,
75
+ punchline_dialogue_output,
76
+ punchline_sarcasm_output,
77
+ ]
78
+ )
79
+
80
+ if __name__ == "__main__":
81
+ interface.launch()
requirements.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ gradio
results.json ADDED
@@ -0,0 +1,274 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "id": "1_2614",
4
+ "sarcasm": 1
5
+ },
6
+ {
7
+ "id": "1_2842",
8
+ "sarcasm": 1
9
+ },
10
+ {
11
+ "id": "2_461",
12
+ "sarcasm": 1
13
+ },
14
+ {
15
+ "id": "2_148",
16
+ "sarcasm": 1
17
+ },
18
+ {
19
+ "id": "1_11201",
20
+ "sarcasm": 0
21
+ },
22
+ {
23
+ "id": "2_272",
24
+ "sarcasm": 1
25
+ },
26
+ {
27
+ "id": "1_3069",
28
+ "sarcasm": 0
29
+ },
30
+ {
31
+ "id": "1_11699",
32
+ "sarcasm": 0
33
+ },
34
+ {
35
+ "id": "2_72",
36
+ "sarcasm": 0
37
+ },
38
+ {
39
+ "id": "2_367",
40
+ "sarcasm": 0
41
+ },
42
+ {
43
+ "id": "1_2580",
44
+ "sarcasm": 1
45
+ },
46
+ {
47
+ "id": "1_5679",
48
+ "sarcasm": 1
49
+ },
50
+ {
51
+ "id": "2_594",
52
+ "sarcasm": 0
53
+ },
54
+ {
55
+ "id": "2_177",
56
+ "sarcasm": 0
57
+ },
58
+ {
59
+ "id": "1_4031",
60
+ "sarcasm": 0
61
+ },
62
+ {
63
+ "id": "2_35",
64
+ "sarcasm": 0
65
+ },
66
+ {
67
+ "id": "2_423",
68
+ "sarcasm": 0
69
+ },
70
+ {
71
+ "id": "2_546",
72
+ "sarcasm": 0
73
+ },
74
+ {
75
+ "id": "1_10849",
76
+ "sarcasm": 0
77
+ },
78
+ {
79
+ "id": "1_1560",
80
+ "sarcasm": 1
81
+ },
82
+ {
83
+ "id": "2_27",
84
+ "sarcasm": 0
85
+ },
86
+ {
87
+ "id": "2_440",
88
+ "sarcasm": 1
89
+ },
90
+ {
91
+ "id": "1_1772",
92
+ "sarcasm": 1
93
+ },
94
+ {
95
+ "id": "2_596",
96
+ "sarcasm": 1
97
+ },
98
+ {
99
+ "id": "2_124",
100
+ "sarcasm": 0
101
+ },
102
+ {
103
+ "id": "2_474",
104
+ "sarcasm": 0
105
+ },
106
+ {
107
+ "id": "2_588",
108
+ "sarcasm": 0
109
+ },
110
+ {
111
+ "id": "1_5058",
112
+ "sarcasm": 0
113
+ },
114
+ {
115
+ "id": "1_8837",
116
+ "sarcasm": 1
117
+ },
118
+ {
119
+ "id": "2_477",
120
+ "sarcasm": 0
121
+ },
122
+ {
123
+ "id": "2_74",
124
+ "sarcasm": 1
125
+ },
126
+ {
127
+ "id": "2_602",
128
+ "sarcasm": 0
129
+ },
130
+ {
131
+ "id": "1_4281",
132
+ "sarcasm": 0
133
+ },
134
+ {
135
+ "id": "1_9963",
136
+ "sarcasm": 0
137
+ },
138
+ {
139
+ "id": "2_473",
140
+ "sarcasm": 0
141
+ },
142
+ {
143
+ "id": "2_537",
144
+ "sarcasm": 0
145
+ },
146
+ {
147
+ "id": "2_353",
148
+ "sarcasm": 0
149
+ },
150
+ {
151
+ "id": "1_507",
152
+ "sarcasm": 1
153
+ },
154
+ {
155
+ "id": "1_5109",
156
+ "sarcasm": 0
157
+ },
158
+ {
159
+ "id": "2_426",
160
+ "sarcasm": 0
161
+ },
162
+ {
163
+ "id": "1_2216",
164
+ "sarcasm": 1
165
+ },
166
+ {
167
+ "id": "2_413",
168
+ "sarcasm": 0
169
+ },
170
+ {
171
+ "id": "2_206",
172
+ "sarcasm": 1
173
+ },
174
+ {
175
+ "id": "2_73",
176
+ "sarcasm": 1
177
+ },
178
+ {
179
+ "id": "1_6472",
180
+ "sarcasm": 0
181
+ },
182
+ {
183
+ "id": "1_7953",
184
+ "sarcasm": 1
185
+ },
186
+ {
187
+ "id": "1_6211",
188
+ "sarcasm": 0
189
+ },
190
+ {
191
+ "id": "1_2361",
192
+ "sarcasm": 1
193
+ },
194
+ {
195
+ "id": "1_7395",
196
+ "sarcasm": 1
197
+ },
198
+ {
199
+ "id": "1_11736",
200
+ "sarcasm": 1
201
+ },
202
+ {
203
+ "id": "2_7",
204
+ "sarcasm": 0
205
+ },
206
+ {
207
+ "id": "1_9993",
208
+ "sarcasm": 0
209
+ },
210
+ {
211
+ "id": "1_7593",
212
+ "sarcasm": 0
213
+ },
214
+ {
215
+ "id": "2_491",
216
+ "sarcasm": 1
217
+ },
218
+ {
219
+ "id": "1_6221",
220
+ "sarcasm": 1
221
+ },
222
+ {
223
+ "id": "2_397",
224
+ "sarcasm": 0
225
+ },
226
+ {
227
+ "id": "2_467",
228
+ "sarcasm": 0
229
+ },
230
+ {
231
+ "id": "2_245",
232
+ "sarcasm": 0
233
+ },
234
+ {
235
+ "id": "1_3293",
236
+ "sarcasm": 1
237
+ },
238
+ {
239
+ "id": "2_586",
240
+ "sarcasm": 1
241
+ },
242
+ {
243
+ "id": "1_5953",
244
+ "sarcasm": 1
245
+ },
246
+ {
247
+ "id": "2_182",
248
+ "sarcasm": 1
249
+ },
250
+ {
251
+ "id": "1_4544",
252
+ "sarcasm": 0
253
+ },
254
+ {
255
+ "id": "2_253",
256
+ "sarcasm": 0
257
+ },
258
+ {
259
+ "id": "1_105",
260
+ "sarcasm": 1
261
+ },
262
+ {
263
+ "id": "2_410",
264
+ "sarcasm": 0
265
+ },
266
+ {
267
+ "id": "2_612",
268
+ "sarcasm": 1
269
+ },
270
+ {
271
+ "id": "1_8717",
272
+ "sarcasm": 1
273
+ }
274
+ ]
sarcasm_data.json ADDED
The diff for this file is too large to render. See raw diff