CoolFace
Apppublic

DataScience1Project/SpamClassifier

sourceHugging Faceupdated 5mo agoView on Hugging Face
0likes
app.py60 linesDownload Raw Back to root
1import streamlit as st
2
3import pickle
4import string
5from nltk.corpus import stopwords
6import nltk
7from nltk.stem.porter import PorterStemmer
8import sklearn
9nltk.download('punket')
10
11
12ps = PorterStemmer() 
13
14def transform_text(text):
15    text = text.lower()
16    text = nltk.word_tokenize(text)
17    
18    y = []
19    for i in text:
20        if i.isalnum():
21            y.append(i)
22            
23    text = y[:]
24    y.clear()
25    
26    for i in text:
27        if i not in stopwords.words('english') and i not in string.punctuation:
28            y.append(i)
29            
30    text = y[:]
31    y.clear()
32    
33    for i in text:
34        y.append(ps.stem(i))
35        
36    return " ".join(y)
37
38tfidf = pickle.load(open('vectorizer.pkl','rb'))
39model = pickle.load(open('model.pkl','rb'))
40
41st.title("Email/SMS Spam Classifier")
42
43input_sms = st.text_area("Enter the message")
44
45if st.button('Predict'): 
46
47    # 1 preprocess
48    transformed_sms = transform_text(input_sms)
49
50    # 2 vectorize
51    vector_input = tfidf.transform([transformed_sms])
52
53    # 3 predict
54    result = model.predict(vector_input)[0]
55
56    # 4 Display
57    if result == 1:
58        st.header("Spam")
59    else:
60        st.header("Not Spam")