| import streamlit as stl |
| import numpy as np |
| import pandas as pd |
| from sklearn.feature_extraction.text import CountVectorizer |
| from sklearn.pipeline import Pipeline |
| from sklearn.model_selection import train_test_split |
| from sklearn.naive_bayes import MultinomialNB |
| from sklearn.metrics import accuracy_score |
| stl.write('this is sentiment analysis') |
| df = pd.read_csv(r'combined_emotion.csv') |
| model1 = Pipeline([("Feature_Engineer",CountVectorizer(binary= True,stop_words = 'english')), |
| ("Algorithm", MultinomialNB())]) |
| X = df['sentence'] |
| y = df['emotion'] |
|
|
| x_train,x_test,y_train,y_test = train_test_split(X,y,test_size=0.3,random_state=23) |
| model1.fit(x_train,y_train) |
| y_pred = model1.predict(x_test) |
| if stl.button('click for accuracy'): |
| stl.write(accuracy_score(y_test,y_pred)) |
| str = stl.text_input('enter text') |
| if stl.button('click to check'): |
| if model1.predict([str]) == 'sad': |
| stl.write('sad βΉοΈ') |
| elif model1.predict([str]) == 'angry': |
| stl.write('anger π‘') |
| elif model1.predict([str]) == 'fear': |
| stl.write('fear π¨') |
| elif model1.predict([str]) == 'joy': |
| stl.write('joy π') |
| elif model1.predict([str]) == 'love': |
| stl.write('π') |
| else : |
| stl.write('surprise π²') |