Textclass / app.py
Daulet9900's picture
Add all emotions and their persentage of 1
48ec688
import streamlit as st
from transformers import pipeline
import numpy as np
print ("Load model...")
# Load the pre-trained emotion classification pipeline
model_name = "bhadresh-savani/distilbert-base-uncased-emotion"
emotion_classifier = pipeline("text-classification", model=model_name)
# Title and Description
st.title("Emotion Classifier")
st.write("""write down how your day went or what your mood is.""")
st.write("""On this space used model "bhadresh-savani/distilbert-base-uncased-emotion".
""")
# Input text box
input_text = st.text_area("Enter text to analyze emotions:", "")
if st.button("Classify Emotion"):
if input_text.strip() == "":
st.write("Please enter some text to classify.")
else:
# Get classification results
results = emotion_classifier(input_text, top_k=None)
# Extract scores and normalize to sum to 1
scores = np.array([result["score"] for result in results])
normalized_scores = scores / scores.sum()
# Display normalized results
st.subheader("Emotions:")
for i, result in enumerate(results):
st.write(f"**{result['label']}**: {normalized_scores[i]:.4f}")