Spaces:
Sleeping
Sleeping
| 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) |