import json import gradio as gr from textblob import TextBlob from textblob_fr import PatternAnalyzer def sentiment_analysis(text: str) -> dict: """ Analyse de sentiment du {text} Args: ===== text (str): Texte a analyser Return(s): ===== str: Json string contenant les champs polarity, subjectivité, assessment """ blob = TextBlob(text, analyzer = PatternAnalyzer()) sentiment = blob.sentiment #(return un tuple (1er = polarity, 2ie = subjectivity)) #print(sentiment) res = { "polaritite": round(sentiment[0], 2), #-1 -, 1 (+) "subjectivite": round(sentiment[1], 2), #0 (very objective), 1 (very sub) "assessment": "positif" if sentiment[0] > 0.5 else "negative" if sentiment[0] < 0.5 else "neutral" } return json.dumps(res) #fin interface = gr.Interface( fn = sentiment_analysis, inputs = [gr.Textbox(label = "In texte", placeholder = "Entrez votre texte pour l'analyse...")], outputs = [gr.Textbox(label = "Res")], title = "Texte SA FR", description = "Analyse de sentiments en utilisant TextBlobFR", live = True) if __name__ == '__main__': interface.launch(mcp_server = True)