import tensorflow as tf import gradio as gr import pandas as pd import os from tensorflow.keras.layers import TextVectorization df = pd.read_csv('train.csv') X = df['comment_text'] y = df[df.columns[2:]].values MAX_FEATURES = 200000 # number of words in the vocab vectorizer = TextVectorization(max_tokens=MAX_FEATURES, output_sequence_length=1800, output_mode='int') vectorizer.adapt(X.values) model = tf.keras.models.load_model('hate_speech.h5') def score_comment(comment): vectorized_comment = vectorizer([comment]) results = model.predict(vectorized_comment) for idx, col in enumerate(df.columns[2:]): if results[0][idx]>0.5: return 'Hate Speech detected' return 'No hate speech detected' interface = gr.Interface(fn=score_comment, inputs=gr.Textbox(lines=2, placeholder='Comment to score'), outputs='text') interface.launch(share=True)