import streamlit as st import pickle import string from nltk.corpus import stopwords import nltk nltk.download('punkt') nltk.download('stopwords') from nltk.stem.porter import PorterStemmer ps=PorterStemmer() def transform_text(text): text=text.lower() text=nltk.word_tokenize(text) y=[] for i in text: if i.isalnum(): y.append(i) text=y[:] y.clear() for i in text: if i not in stopwords.words('english') and i not in string.punctuation: y.append(i) text=y[:] y.clear() for i in text: y.append(ps.stem(i)) return " ".join(y) tfidf=pickle.load(open('vectorizer.pkl','rb')) model=pickle.load(open('model.pkl','rb')) st.title("EMAIL/SMS SPAM CLASSIFIER") #follow documentation for syntax and fn input_sms=st.text_input("Enter the message :)") if st.button('predict'): #1.preprocess transformed_sms=transform_text(input_sms) #2.vectorize vector_input=tfidf.transform([transformed_sms]) #3.predict result=model.predict(vector_input)[0] #4.display if result==1: st.header("make some friends loner") else: st.header("not spam uwu")