| import tensorflow as tf |
| from zipfile import ZipFile |
| import gradio as gr |
| import pandas as pd |
| import numpy as np |
| from tensorflow.keras.layers import TextVectorization |
| with ZipFile('train.csv.zip','r') as zObject: |
| zObject.extractall() |
| df=pd.read_csv('train.csv') |
| x=df['comment_text'] |
| MAX_FEATURES=200000 |
| vectorizer=TextVectorization(max_tokens=MAX_FEATURES, |
| output_sequence_length=1800, |
| output_mode='int') |
| vectorizer.adapt(x.values) |
| model=tf.keras.models.load_model('toxic_detector.h5') |
| def score_comment(comment): |
| vectorized=vectorizer([comment]) |
| results=model.predict(vectorized) |
| |
| text='' |
| for idx,col in enumerate(df.columns[2:]): |
| text+='{}: {}\n'.format(col,results[0][idx]>0.5) |
| return text |
| interface=gr.Interface(fn=score_comment, |
| inputs=gr.Textbox(lines=4,placeholder='comment here'), |
| outputs='text') |
| interface.launch() |