Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import pickle | |
| import string | |
| import nltk | |
| nltk.download('punkt') | |
| from nltk.corpus import stopwords | |
| nltk.download('stopwords') | |
| from nltk.stem import PorterStemmer | |
| tfidf = pickle.load(open("vectorizer.pkl","rb")) | |
| model = pickle.load(open("model.pkl","rb")) | |
| stemmer = PorterStemmer() | |
| def preprocess_data(text): | |
| # lowercase | |
| text = text.lower() | |
| # word tokenization | |
| text = nltk.word_tokenize(text) | |
| y = [] | |
| for i in text: | |
| if i.isalnum(): | |
| y.append(i) | |
| text = y.copy() | |
| y.clear() | |
| for i in text: | |
| if i not in stopwords.words("english") and i not in string.punctuation: | |
| y.append(i) | |
| text = y.copy() | |
| y.clear() | |
| for i in text: | |
| y.append(stemmer.stem(i)) | |
| return " ".join(y) | |
| st.title("SMS Spam Classifier") | |
| sms = st.text_area("Enter The Message:") | |
| predict_button = st.button("Predict") | |
| if predict_button: | |
| transform_sms = preprocess_data(sms) | |
| vector_input = tfidf.transform([transform_sms]) | |
| result = model.predict(vector_input)[0] | |
| if result == 1: | |
| st.header("Spam") | |
| else: | |
| st.header("Not Spam") |