Mvrick3027/Offensive-Classification-App
0
1import streamlit as st2import pickle3import string4from nltk.corpus import stopwords5import nltk6from nltk.stem.porter import PorterStemmer7import sklearn8 9ps = PorterStemmer()10 11def transform_text(text):12 text = text.lower()13 text = nltk.word_tokenize(text)14 15 y = []16 for i in text:17 if i.isalnum():18 y.append(i)19 20 text = y[:]21 y.clear()22 23 for i in text:24 if i not in stopwords.words('english') and i not in string.punctuation:25 y.append(i)26 27 text = y[:]28 y.clear()29 30 for i in text:31 y.append(ps.stem(i))32 33 return " ".join(y)34 35tfidf = pickle.load(open('vectorizer.pkl','rb'))36model = pickle.load(open('model.pkl','rb'))37 38st.title("offensive Text Classifier")39 40input_sms = st.text_input("Enter the message")41 42if st.button('predict'):43 44 45 transformed_sms = transform_text(input_sms)46 47 vector_input = tfidf.transform([transformed_sms])48 49 result = model.predict(vector_input)[0]50 51 if result == 1:52 st.header("offensive")53 else:54 st.header("non-offensive")