Spaces:
Runtime error
Runtime error
import gradio as gr | |
from gradio.components import Text | |
import joblib | |
import clean | |
import nltk | |
nltk.download('wordnet') | |
import numpy as np | |
import language_detection | |
import requests | |
print("all imports worked") | |
# Load pre-trained model | |
model = joblib.load('model_joblib.pkl') | |
print("model load ") | |
tf = joblib.load('tf_joblib.pkl') | |
print("tfidf load ") | |
def query(payload): | |
API_URL = "https://api-inference.huggingface.co/models/Hate-speech-CNERG/hindi-abusive-MuRIL" | |
headers = {"Authorization": "Bearer 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"} | |
response = requests.post(API_URL, headers=headers, json=payload) | |
return response.json() | |
# Define function to predict whether sentence is abusive or not | |
def predict_abusive_lang(text): | |
print("original text ", text) | |
lang = language_detection.en_hi_detection(text) | |
print("language detected ", lang) | |
if lang=='eng': | |
cleaned_text = clean.text_cleaning(text) | |
print("cleaned text ", text) | |
text = tf.transform([cleaned_text]) | |
print("tfidf transformation ", text) | |
prediction = model.predict(text) | |
print("prediction ", prediction) | |
if len(prediction)!=0 and prediction[0]==0: | |
return ["NA", cleaned_text] | |
elif len(prediction)!=0 and prediction[0]==1: | |
return ["AB",cleaned_text] | |
else : | |
return ["Please write something in the comment box..","No cleaned text"] | |
elif lang=='hi': | |
print("using hugging face api") | |
output = query({ | |
"inputs": text#"खान चाचा को मेरा सला" | |
}) | |
print(output, len(output)) | |
# if(len(output)) | |
l_0 = float(output[0][0]['score']) | |
l_1 = float(output[0][1]['score']) | |
if output[0][0]['label']=='LABEL_1' : | |
if l_0>l_1: | |
return ["AB",text] | |
else : | |
return ["NA",text] | |
else : | |
return ["UN","No cleaned text"] | |
# text = '":::::: 128514 - & % ! @ # $ % ^ & * ( ) _ + I got blocked for 30 minutes, you got blocked for more than days. You is lost. www.google.com, #happydiwali, @amangupta And I don\'t even know who the fuck are you. It\'s a zero! \n"' | |
# predict_abusive_lang(text) | |
# Define the GRADIO output interfaces | |
output_interfaces = [ | |
gr.outputs.Textbox(label="Result"), | |
gr.outputs.Textbox(label="Cleaned text") | |
] | |
app = gr.Interface(predict_abusive_lang, inputs='text', outputs=output_interfaces, title="Abuse Classifier", description="Enter a sentence and the model will predict whether it is abusive or not.") | |
#Start the GRADIO app | |
app.launch() |