<jupyter_start><jupyter_text>Sentiment analysis avec Textblob-FR Documentation: https://textblob.readthedocs.io/en/dev/  Imports<jupyter_code>import sys
from textblob import Blobber
from textblob_fr import PatternTagger, PatternAnalyzer<jupyter_output><empty_output><jupyter_text>Fonction<jupyter_code>tb = Blobber(pos_tagger=PatternTagger(), analyzer=PatternAnalyzer())

def get_sentiment(input_text):
    blob = tb(input_text)
    polarity, subjectivity = blob.sentiment
    polarity_perc = f"{100*abs(polarity):.0f}"
    subjectivity_perc = f"{100*subjectivity:.0f}"
    if polarity > 0:
        polarity_str = f"{polarity_perc}% positive"
    elif polarity < 0:
        polarity_str = f"{polarity_perc}% negative"
    else:
        polarity_str = "neutral"
    if subjectivity > 0:
        subjectivity_str = f"{subjectivity}% subjective"
    else:
        subjectivity_str = "perfectly objective"
    print(f"This text is {polarity_str} and {subjectivity_str}.")<jupyter_output><empty_output><jupyter_text>Analyser le sentiment d'une phrase<jupyter_code>get_sentiment("Sons disons que le législateur de 1814 n'a fait que suivre l'esprit du déeret de 1810.")
get_sentiment("Que si cependant on persistait à invoquer l'article 1 de l'arrêté de 1814.")
get_sentiment("Toutes les dépenses relatives aux armées de l'Etat sont supportées par le trésor public.")
get_sentiment("Tout ce qu'il vous serait possible serait de faire les fondations qui se tasseraient l'hiver prochain.")
get_sentiment("Il est vrai qu'aucun membre de votre administration n'en fait en ce moment partie, comme le veut le susdit article, etc")
get_sentiment("Lettre de l'administration du mont-de-piété, contenant des renseignemens sur les constructions projetées à cet établissement")
get_sentiment("Le Conseil dans cette séance a amendé quelques articles, et voté l'ensemble à l'unanimité.")
get_sentiment("Voici le texte du cahier des charges avec la discussion sous chaque article.")
get_sentiment("Ceux-ci ne pourront effectuer aucun changement aux bâtimens concédés, aux décorations, au mobilier, à la peinture intérieure, ni aux ornemens en général, sans l'autorisation préalable du collège.")
get_sentiment("Les changemens, ainsi autorisés, ne donneront lieu à aucune répétition ou indemnité.")<jupyter_output>This text is 5% positive and 0.2% subjective.
{'fraction_non_alphanumeric': 0.08258451005562688, 'fraction_numerical': 0.011553273427471117, 'mean_word_length': 5.642045454545454, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 14, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '3', 'dir': 'jupyter-structured-clean-dedup', 'id': '500903', 'license': 'MIT', 'n_tokens_mistral': 795, 'n_tokens_neox': 766, 'n_words': 232, 'path': 'module3/s4_sentiment.ipynb', 'repo_name': 'SidikMokou/tac', 'size': '2337'}