happysad/toxic_comment_binary_classifier
0
1# Requirements:2# gradio==3.13# nltk==3.6.74# scikit-learn==0.24.25# pandas==1.3.36# numpy==1.21.27# torch==1.9.18# mosestokenizer==1.1.09 10import gradio as gr11import pickle12import nltk13import pandas as pd14import numpy as np15import sklearn as sk16import torch17from mosestokenizer import *18from nltk.tokenize import word_tokenize, TreebankWordTokenizer, sent_tokenize19from sklearn.feature_extraction.text import TfidfVectorizer20from sklearn.model_selection import GridSearchCV, RandomizedSearchCV21from scipy.stats import randint22 23nltk.download('punkt')24nltk.download('averaged_perceptron_tagger')25nltk.download('maxent_ne_chunker')26nltk.download('words')27nltk.download('treebank')28 29# Load your model and vectorizer30with open('model.pkl', 'rb') as model_file:31 model = pickle.load(model_file)32 33def tokenizer_(text):34 tokenizer = TreebankWordTokenizer()35 return tokenizer.tokenize(text)36 37vectorizer = TfidfVectorizer(tokenizer=tokenizer_, stop_words='english', max_features=10000)38 39def make_prediction(sample_text):40 sample_vectorized = vectorizer.transform([sample_text])41 sample_prediction = model.predict(sample_vectorized)42 return str(sample_prediction[0])43 44iface = gr.Interface(45 fn=make_prediction,46 inputs=gr.inputs.Textbox(lines=2, placeholder="Enter text here..."),47 outputs="text",48 title="Toxic Comment Prediction",49 description="Predict whether a given comment is toxic or not"50)51 52if __name__ == "__main__":53 iface.launch()