Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| from transformers import pipeline | |
| import soundfile as sf | |
| from txtai.pipeline import TextToSpeech | |
| # Load the text classification model pipeline, filter out the spam and leave the ham | |
| classifier = pipeline("text-classification", model='JustHuggingFaces/OptimalSpamDetect') | |
| to_speech = TextToSpeech("NeuML/ljspeech-jets-onnx") | |
| # Set the images for better user experience | |
| ham_pic = "" | |
| spam_pic = "https://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/data/spam-ham/1-introduction.html?topic=berkeley_bjc%2Fareas%2Fdata.topic" | |
| # Streamlit application title | |
| st.title("Reading Ham") | |
| st.write("Classification for Spam Email: Spam or Ham?") | |
| # Text input for user to enter the text to classify | |
| text = st.text_area("Paste the email text to classify, if it's a ham, read out", "") | |
| # Perform text classification when the user clicks the "Classify" button | |
| if st.button("Classify"): | |
| # Perform text classification on the input text | |
| result = classifier(text)[0] | |
| # Display the classification result | |
| spam = "LABEL_1" | |
| ham = "LABEL_0" | |
| if result['label'] == spam: | |
| #st.write("Text:", text) | |
| st.write("Spam!") | |
| #st.write("Label: ", result['label']) | |
| #st.image(spam_pic, caption="It's a spam!") | |
| else: | |
| st.write("Ham! Generating speech...") | |
| #st.write("Label: ", result['label']) | |
| speech = to_speech(text) | |
| st.audio(speech, sample_rate=16000, autoplay=True) |