Spaces:
Sleeping
Sleeping
import gradio as gr | |
import spaces | |
from transformers import pipeline | |
import torch | |
import os | |
token = os.getenv('HF_AUTH_TOKEN') | |
print(token) | |
binary_example = [["Yahudi terörüne karşı protestolar kararlılıkla devam ediyor."]] | |
category_example = [["Ermeni zulmü sırasında hayatını kaybeden kadınlar anısına dikilen anıt ziyarete açıldı."]] | |
target_example = [["Dün 5 bin suriyeli enik doğmuştur zaten Türkiyede aq 5 bin suriyelinin gitmesi çok çok az"]] | |
DESCRIPTION = """" | |
## Hate Speech Detection in Turkish News | |
""" | |
CITATION = """" | |
""" | |
def binary_classification(input, choice): | |
model = pipeline(model=f'gokceuludogan/{choice}') | |
return model(input)[0] | |
def category_classification(input, choice): | |
model = pipeline(model=f'gokceuludogan/{choice}') | |
return model(input)[0] | |
def target_detection(input): | |
model = pipeline(model='gokceuludogan/turna_generation_tr_hateprint_target') | |
return model(input)[0]['generated_text'] | |
def multi_detection(input): | |
model = pipeline(model='gokceuludogan/turna_generation_tr_hateprint_multi') | |
return model(input)[0]['generated_text'] | |
with gr.Blocks(theme="abidlabs/Lime") as demo: | |
#gr.Markdown("# TURNA") | |
#gr.Image("images/turna-logo.png", width=100, show_label=False, show_download_button=False, show_share_button=False) | |
with gr.Tab("TRHatePrint"): | |
gr.Markdown(DESCRIPTION) | |
with gr.Tab("Binary Classification"): | |
gr.Markdown("Enter text to analyse hatefulness and pick the model.") | |
with gr.Column(): | |
with gr.Row(): | |
with gr.Column(): | |
sentiment_choice = gr.Radio(choices = ["turna_tr_hateprint", "turna_tr_hateprint_5e6_w0.1_", "berturk_tr_hateprint_w0.1", "berturk_tr_hateprint_w0.1_b128"], label ="Model", value="turna_tr_hateprint") | |
sentiment_input = gr.Textbox(label="Input") | |
sentiment_submit = gr.Button() | |
sentiment_output = gr.Textbox(label="Output") | |
sentiment_submit.click(binary_classification, inputs=[sentiment_input, sentiment_choice], outputs=sentiment_output) | |
sentiment_examples = gr.Examples(examples = binary_example, inputs = [sentiment_input, sentiment_choice], outputs=sentiment_output, fn=binary_classification) | |
with gr.Tab("Hate Speech Categorization"): | |
gr.Markdown("Enter a hateful text to categorize or try the example.") | |
with gr.Column(): | |
with gr.Row(): | |
with gr.Column(): | |
text_choice = gr.Radio(choices= ["berturk_tr_hateprint_cat_w0.1_b128", "berturk_tr_hateprint_cat_w0.1"]) | |
text_input = gr.Textbox(label="Input") | |
text_submit = gr.Button() | |
text_output = gr.Textbox(label="Output") | |
text_submit.click(category_classification, inputs=[text_input, text_choice], outputs=text_output) | |
text_examples = gr.Examples(examples = category_example,inputs=[text_input, text_choice], outputs=text_output, fn=category_classification) | |
with gr.Tab("Target Detection"): | |
gr.Markdown("Enter text to detect targets ") | |
with gr.Column(): | |
with gr.Row(): | |
with gr.Column(): | |
nli_first_input = gr.Textbox(label="Input") | |
nli_submit = gr.Button() | |
nli_output = gr.Textbox(label="Output") | |
nli_submit.click(target_detection, inputs=[nli_first_input], outputs=nli_output) | |
nli_examples = gr.Examples(examples = target_example, inputs = [nli_first_input], outputs=nli_output, fn=target_detection) | |
with gr.Tab("Multi Detection"): | |
gr.Markdown("Enter text to detect hate, category, and targets ") | |
with gr.Column(): | |
with gr.Row(): | |
with gr.Column(): | |
nli_first_input = gr.Textbox(label="Input") | |
nli_submit = gr.Button() | |
nli_output = gr.Textbox(label="Output") | |
nli_submit.click(multi_detection, inputs=[nli_first_input], outputs=nli_output) | |
nli_examples = gr.Examples(examples = target_example, inputs = [nli_first_input], outputs=nli_output, fn=multi_detection) | |
gr.Markdown(CITATION) | |
demo.launch() |