Spaces:
Running
Running
File size: 2,762 Bytes
546c04a e6455d3 546c04a 8085a83 e6455d3 8085a83 546c04a e6455d3 8085a83 e6455d3 8085a83 e6455d3 8085a83 e6455d3 8085a83 e6455d3 8085a83 e6455d3 546c04a e6455d3 546c04a e6455d3 546c04a e6455d3 546c04a e6455d3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
import streamlit as st
from transformers import pipeline
from langdetect import detect
import pandas as pd
# Configuration de la page
st.set_page_config(
page_title="🌍 Analyse de Sentiment Multilingue V2",
page_icon="🔎",
layout="centered",
)
# CSS personnalisé pour rendre l'app plus douce visuellement
st.markdown(
"""
<style>
.stApp {
background-color: #f0f2f6;
}
.big-font {
font-size:20px !important;
}
</style>
""",
unsafe_allow_html=True
)
# Titre principal
st.title("🔎 Analyseur de Sentiment Multilingue")
st.write("**Bienvenue !** Cette application détecte automatiquement la langue et analyse les sentiments de vos textes. 📖")
# Sidebar d'information
with st.sidebar:
st.header("📚 À propos de l'application")
st.write("""
- Modèle IA : tabularisai/multilingual-sentiment-analysis
- Analyse de texte rapide
- Détection de la langue
""")
st.markdown("---")
st.write("Réalisé avec ❤️ en Python et Streamlit")
# Charger le modèle
@st.cache_resource
def load_model():
return pipeline("text-classification", model="tabularisai/multilingual-sentiment-analysis")
classifier = load_model()
# Entrée utilisateur
st.subheader("✍️ Entrez vos phrases :")
user_input = st.text_area("Entrez plusieurs phrases séparées par un point-virgule ';'", height=150)
# Bouton
if st.button("🔍 Lancer l'analyse"):
if not user_input.strip():
st.warning("⚠️ Merci d'entrer au moins une phrase.")
else:
phrases = [phrase.strip() for phrase in user_input.split(';') if phrase.strip()]
st.info(f"Nombre de phrases détectées : {len(phrases)}")
results = []
with st.spinner("Analyse en cours... ⏳"):
for phrase in phrases:
try:
lang = detect(phrase)
except:
lang = "indéterminée"
analysis = classifier(phrase)[0]
results.append({
"Texte": phrase,
"Langue": lang,
"Sentiment": analysis["label"],
"Score": round(analysis["score"], 2)
})
# Affichage sous forme de tableau
df_results = pd.DataFrame(results)
st.dataframe(df_results)
# Résultats graphiques
st.subheader("📊 Visualisation des scores de confiance")
st.bar_chart(df_results.set_index("Texte")["Score"])
st.success("✅ Analyse terminée avec succès !")
# Footer
st.markdown("---")
st.markdown("🔗 [Voir le modèle Hugging Face](https://huggingface.co/tabularisai/multilingual-sentiment-analysis) | Projet open-source disponible sur demande.")
|