File size: 1,132 Bytes
c474730
 
 
34aceea
 
cbb021e
c474730
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a41b4d3
55caf8b
c474730
55caf8b
c474730
842dd30
 
 
c474730
 
 
 
 
 
 
 
 
 
db0bef6
 
c474730
 
 
 
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

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)