Chr15tian's picture
push12
842dd30
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)