NLP · Sentiment

Analisi del Sentiment
su Social Media

Pipeline NLP per sentiment analysis automatizzata su contenuti social con classificazione positivo/neutro/negativo per topic. Approccio lexicon-based con TextBlob, validato su campione etichettato manualmente.

NLP TextBlob Python Pandas Matplotlib
2.4kTesti analizzati
5Topic
82%Accuracy
3Classi
Distribuzione sentiment per topic
Positivo Neutro Negativo
AI & Tech
62%24%14%
Politica
22%31%47%
Sport
55%28%17%
Economia
31%35%34%
Ambiente
38%27%35%
Distribuzione polarity score (TextBlob) — tutti i topic
0 -1 +1 negativo positivo

Snippet chiave

from textblob import TextBlob
import pandas as pd

# Classificazione sentiment
def get_sentiment(text):
    blob = TextBlob(str(text))
    pol = blob.sentiment.polarity
    if pol > 0.1: return 'positivo'
    elif pol < -0.1: return 'negativo'
    else: return 'neutro'

df['polarity'] = df['text'].apply(lambda x: TextBlob(x).sentiment.polarity)
df['sentiment'] = df['text'].apply(get_sentiment)

# Confronto per topic
pivot = df.groupby(['topic', 'sentiment']).size().unstack(fill_value=0)

Risultati e applicabilità

L'analisi evidenzia pattern di sentiment nettamente diversi per topic: AI & Tech e Sport dominati da sentiment positivo, mentre Politica mostra la distribuzione più negativa (47%).

TextBlob raggiunge un'accuracy dell'82% rispetto a etichette manuali su un campione di 200 testi, performance solida per un approccio lexicon-based senza fine-tuning.

Il sistema è integrabile in dashboard di brand monitoring e social listening per analisi in tempo reale della percezione online di prodotti, servizi o campagne.

← Progetto precedente Tutti i progetti