Spaces:
Running
Running
| # app.py | |
| import streamlit as st | |
| import pandas as pd | |
| from sklearn.feature_extraction.text import TfidfVectorizer | |
| from sklearn.svm import SVC | |
| import joblib | |
| # Load the SVM model and TF-IDF vectorizer | |
| svm_model = joblib.load('svm_model.pkl') | |
| tfidf_vectorizer = joblib.load('tfidf_vectorizer.pkl') | |
| def preprocess_input(text): | |
| # Preprocess the input text (e.g., convert to lowercase, remove special characters, etc.) | |
| # Implement your specific preprocessing steps based on the training data | |
| processed_text = text.lower() | |
| # Add more preprocessing steps as needed | |
| return processed_text | |
| def predict_bullying(text): | |
| # Preprocess input text | |
| processed_text = preprocess_input(text) | |
| # Convert text to numerical representation using TF-IDF | |
| text_tfidf = tfidf_vectorizer.transform([processed_text]) | |
| # Make prediction using the SVM model | |
| prediction = svm_model.predict(text_tfidf)[0] | |
| return prediction | |
| # Streamlit UI | |
| def main(): | |
| st.title("Cyberbullying Detection App (Arabic)") | |
| user_input = st.text_area("Enter a text for cyberbullying detection:") | |
| if st.button("Predict"): | |
| if user_input: | |
| prediction = predict_bullying(user_input) | |
| if prediction == "Bullying": | |
| st.write(f"<span style='color:red; font-weight:bold'>{prediction}</span>", unsafe_allow_html=True) | |
| else: | |
| st.write(f"<span style='color:cyan; font-weight:bold'>{prediction}</span>", unsafe_allow_html=True) | |
| else: | |
| st.warning("Please enter text for prediction.") | |
| st.header("Sample Texts") | |
| st.write("<span style='color:red; font-weight:bold'>ุนููุงู ุฎุฑุง ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐๐๐๐๐</span>", unsafe_allow_html=True) | |
| st.write("<span style='color:red; font-weight:bold'>ุฃูุช ููุจ</span>", unsafe_allow_html=True) | |
| st.write("ูุงู ุจุงุฑุญ ุงุดุชุฑูุช ุจููุงุชู . ุดุบูู ุฌู ูู ูุญูู . ูุงูุซุฑ ุดู ุจุนุฌุจูู ุจ ููุฏูููุงุชู ุงูู ุจุชุญุณุณูู ุงูู ู ุนู .") | |
| st.write("ุงููุฏ ุจูุดุฌุนู โคโค") | |
| if __name__ == "__main__": | |
| main() | |