File size: 2,078 Bytes
546c04a
 
 
8085a83
 
 
 
 
 
546c04a
8085a83
 
 
 
 
 
 
 
 
 
 
 
546c04a
 
 
 
 
 
8085a83
 
 
546c04a
8085a83
 
546c04a
8085a83
546c04a
8085a83
 
 
 
546c04a
8085a83
546c04a
8085a83
 
 
 
 
 
 
 
 
546c04a
 
 
8085a83
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
import streamlit as st
from transformers import pipeline

# Configuration de la page
st.set_page_config(
    page_title="🌍 Analyse de Sentiment Multilingue",
    page_icon="🧠",
    layout="centered",
)

# Titre principal
st.title("🧠 Analyseur de Sentiment Multilingue")
st.write("Détectez automatiquement les émotions dans vos textes en plusieurs langues grâce à l'intelligence artificielle 🤖.")

# Barre latérale
with st.sidebar:
    st.header("À propos 📚")
    st.write("Cette application utilise un modèle pré-entraîné hébergé sur Hugging Face pour analyser le sentiment de vos textes.")
    st.markdown("---")
    st.write("Projet réalisé avec **Streamlit** et **Transformers**.")

# Chargement du modèle
@st.cache_resource
def load_model():
    return pipeline("text-classification", model="tabularisai/multilingual-sentiment-analysis")

classifier = load_model()

# Zone de saisie de texte
st.subheader("✍️ Entrez votre texte ci-dessous :")
user_input = st.text_area("Tapez votre message ici...", height=200)

# Bouton d'analyse
if st.button("🔎 Analyser le Sentiment"):
    if user_input.strip() == "":
        st.warning("⚠️ Merci d'entrer un texte avant de lancer l'analyse.")
    else:
        with st.spinner("Analyse en cours..."):
            result = classifier(user_input)[0]
            sentiment = result['label']
            score = result['score']
        
        # Affichage des résultats
        st.success(f"**Sentiment détecté :** {sentiment}")
        st.info(f"**Confiance du modèle :** {score:.2%}")

        # Ajout d'un petit message en fonction du résultat
        if "positive" in sentiment.lower():
            st.balloons()
        elif "negative" in sentiment.lower():
            st.error("😞 Le sentiment semble négatif.")
        else:
            st.warning("😐 Sentiment plutôt neutre.")

# Footer
st.markdown("---")
st.markdown("🔗 [Voir le modèle sur Hugging Face](https://huggingface.co/tabularisai/multilingual-sentiment-analysis) | Réalisé avec ❤️ par un passionné d'IA.")