File size: 1,913 Bytes
fa9917c
c7baec5
fa9917c
 
df18eaf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45d0f71
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
df18eaf
fa9917c
 
45d0f71
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import gradio as gr
import torch
from transformers import pipeline

app_title = "Portuguese Hate Speech Detection"

app_description = """
This app detects hate speech on Portuguese text using multiple models. You can either introduce your own sentences by filling in "Text" or click on one of the examples provided below.
"""

app_examples = [
    ["As pessoas tem que perceber que ser 'panasca' não é deixar de ser homem, é deixar de ser humano hahaha"],
    ["Hoje tive uma conversa muito agradável com um colega meu"],
]

output_textbox_component_description = """
This box will display the hate speech detection results based on the average score of multiple models.
"""

output_json_component_description = { "breakdown": """
This box presents a detailed breakdown of the evaluation for each model.
"""}

model_list = [
    "knowhate/HateBERTimbau",
    "knowhate/HateBERTimbau-youtube",
    "knowhate/HateBERTimbau-twitter",
    "knowhate/HateBERTimbau-yt-tt",
]

user_friendly_name = {
    "knowhate/HateBERTimbau": "HateBERTimbau (Original)",
    "knowhate/HateBERTimbau-youtube": "HateBERTimbau (YouTube)",
    "knowhate/HateBERTimbau-twitter": "HateBERTimbau (Twitter)",
    "knowhate/HateBERTimbau-yt-tt": "HateBERTimbau (YouTube + Twitter)"
}

reverse_user_friendly_name = { v:k for k,v in user_friendly_name.items() }

user_friendly_name_list = list(user_friendly_name.values())

pipe = pipeline("text-classification", model="knowhate/HateBERTimbau")
demo = gr.Interface.from_pipeline(pipe)
demo.launch()



inputs = [
    gr.Textbox(label="Text", value=app_examples[0][0]),
    gr.Dropdown(label="Model", choices=user_friendly_name_list, value=user_friendly_name_list[0])
]

outputs = [
 gr.Label(label="Result"),
 gr.Markdown(),
]


gr.Interface(fn=predict, inputs=inputs, outputs=outputs, title=app_title, 
             description=app_description,
             examples=app_examples).launch()