File size: 930 Bytes
5d9f15c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54f2de6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import streamlit as st
from sklearn.feature_extraction.text import CountVectorizer
from textblob import TextBlob
from nltk.stem import PorterStemmer
from tensorflow.keras.models import load_model
import numpy as np
import nltk
nltk.download("punkt")

model=load_model("model.h5")
pr=PorterStemmer()
def lemmafn(text):
    words=TextBlob(text).words
    return [pr.stem(word) for word in words]
vect=CountVectorizer(ngram_range=(1,4),max_features=100000,analyzer=lemmafn)
st.title("Predicting Emotion of Text")
text=st.text_area("Your text")
if text is not None:
    text=text.lower()
    text=text.replace("[^\w\s]","")
    text=text.replace("\n","")
    text=text.replace("\d+","")
    text=vect.fit_transform([text])
    if st.button("Predict"):
       prediction=model.predict(text)
       class_names=["Joy","Love","Anger","Sadness","Fear","Surprise"]
       emotion=class_names[np.argmax(prediction)]
       st.write(emotion)