emirkaanozdemr's picture
Update app.py
5d9f15c verified
raw
history blame contribute delete
No virus
930 Bytes
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)