Spaces:
Sleeping
Sleeping
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") | |