🤖 Analisi Sentiment con Intelligenza Artificiale
Dai commenti dei clienti all’analisi automatica dei sentimenti
Introduzione
Benvenuto in questa esercitazione di Python applicato all’Intelligenza Artificiale per l’analisi dei sentimenti! Imparerai a creare un sistema che analizza automaticamente i commenti dei clienti e classifica il loro sentiment.
Lavorerai come sviluppatore IA per un’azienda e-commerce che vuole automatizzare l’analisi dei feedback dei clienti per migliorare prodotti e servizi.
⚠️ ATTENZIONE: COPIA BLOCCATA
Il codice è protetto da sistema anti-copia. Dovrai SCRIVERE manualmente tutto il codice per imparare veramente! 🚫📋
Parte 1: Preparazione dei Dati
▶ Creazione del Dataset di Commenti
Crea una nuova cella su Google Colab e definisci i commenti da analizzare:
# COMMENTI DA ANALIZZARE
commenti = ["Adoro questo prodotto!",
"È fantastico!",
"Non mi piace per niente",
"molto deludente",
"Che bella scoperta, lo ricomprerò sicuramente",
"Qualità scarsa, non vale il prezzo",
"Incredibile! Supera ogni aspettativa",
"Meh",
"niente di speciale",
"Servizio clienti eccellente e prodotto top!"]
print("📄 COMMENTI DA ANALIZZARE\n")
for i, commento in enumerate(commenti, 1):
print(f"{i}. {commento}")
▶ Analisi Esplorativa dei Commenti
Aggiungi l'analisi base per esplorare i dati:
# 2. CICLO FOR BASE - Analisi semplice
print("🔍 ANALISI BASE DEI COMMENTI", "="*30)
for commento in commenti:
print(f"📄 {commento[:20]}", "."*25)
# 3. CICLO FOR CON INDICE - Per tracciare progresso
print("\nCOMMENTI NUMERATI" + "="*35)
for i, commento in enumerate(commenti, 1):
print(f"#{i}: {commento}")
Parte 2: Sistema IA di Analisi Sentiment
▶ Definizione delle Parole Chiave
Crea il sistema di intelligenza artificiale per l'analisi del sentiment:
# 4. CICLO FOR CON CONDIZIONI - Analisi intelligente!
print("\n😊 ANALISI DI SENTIMENTO" + "="*50)
# Dizionari per l'analisi del sentiment
positivi = ["adoro", "fantastico!", "bella scoperta", "lo ricomprerò",
"supera ogni aspettativa", "eccellente", "top"]
negativi = ["non mi piace", "molto deludente", "qualità scarsa",
"non vale il prezzo", "meh", "niente di speciale"]
analisi = []
for commento in commenti:
commento_lower = commento.lower()
punti_positivi = 0
punti_negativi = 0
# Analisi parole positive
for parola in positivi:
if parola in commento_lower:
punti_positivi += 1
# Analisi parole negative
for parola in negativi:
if parola in commento_lower:
punti_negativi += 1
# Decisione IA sul sentiment
if punti_positivi > punti_negativi:
sentimento = "😁 POSITIVO"
elif punti_positivi < punti_negativi:
sentimento = "😒 NEGATIVO"
else:
sentimento = "😊 NEUTRO"
risultato_analisi = f"{commento} -> {sentimento} (+{punti_positivi}/-{punti_negativi})"
analisi.append(risultato_analisi)
# Visualizza tutti i risultati
for frase in analisi:
print(frase)
print(f"\n📊 Totale commenti analizzati: {len(analisi)}")
• Rule-based AI: Il sistema usa parole chiave predefinite
• Pattern Matching: Cerca pattern nei commenti
• Scoring System: Assegna punteggi positivi/negativi
• Decision Making: Classifica automaticamente il sentiment
Parte 3: Organizzazione dei Risultati
▶ Classificazione Automatica dei Commenti
Crea una nuova cella per organizzare i risultati:
# 5. CLASSIFICAZIONE DEI RISULTATI
positivi_lista = []
negativi_lista = []
neutri_lista = []
for frase in analisi:
if "😁 POSITIVO" in frase:
positivi_lista.append(frase)
elif "😒 NEGATIVO" in frase:
negativi_lista.append(frase)
else:
neutri_lista.append(frase)
print("🎯 CLASSIFICAZIONE AUTOMATICA DEI COMMENTI")
print("="*50)
print(f"😁 Commenti positivi: {len(positivi_lista)}")
print(f"😒 Commenti negativi: {len(negativi_lista)}")
print(f"😊 Commenti neutri: {len(neutri_lista)}")
print(f"📊 Totale analizzati: {len(analisi)}")
▶ Interfaccia per la Consultazione
Crea un sistema di consultazione interattivo:
# 6. INTERFACCIA PER CONSULTAZIONE
print("\n" + "="*60)
print("🤖 SISTEMA DI ANALISI SENTIMENT CON IA")
print("="*60)
scelta = input("Quali commenti vuoi visualizzare? ").upper()
if scelta == "POSITIVI":
print(f"\n😁 COMMENTI POSITIVI ({len(positivi_lista)}):")
for commento in positivi_lista:
print(f" • {commento}")
elif scelta == "NEGATIVI":
print(f"\n😒 COMMENTI NEGATIVI ({len(negativi_lista)}):")
for commento in negativi_lista:
print(f" • {commento}")
elif scelta == "NEUTRI":
print(f"\n😊 COMMENTI NEUTRI ({len(neutri_lista)}):")
for commento in neutri_lista:
print(f" • {commento}")
else:
print("❌ Scelta non valida. Usa: POSITIVI, NEGATIVI o NEUTRI")
Parte 4: Estensioni e Analisi Avanzata
▶ Statistiche Avanzate
Aggiungi analisi statistiche per report completi:
# EXTRA: STATISTICHE AVANZATE PER REPORT
print("\n" + "📊 STATISTICHE AVANZATE" + "="*40)
print(f"Percentuale commenti positivi: {(len(positivi_lista)/len(analisi))*100:.1f}%")
print(f"Percentuale commenti negativi: {(len(negativi_lista)/len(analisi))*100:.1f}%")
print(f"Percentuale commenti neutri: {(len(neutri_lista)/len(analisi))*100:.1f}%")
# Creazione lista unica per backup
tutti_commenti = []
tutti_commenti.extend(positivi_lista)
tutti_commenti.extend(negativi_lista)
tutti_commenti.extend(neutri_lista)
print(f"\n💾 Backup dati creato: {len(tutti_commenti)} record salvati")
Concetti di Intelligenza Artificiale Appresi
Congratulazioni! Ora conosci:
- ✓ Sentiment Analysis: Analisi automatica dei sentimenti
- ✓ Rule-based AI: Sistemi a regole per classificazione
- ✓ Text Processing: Elaborazione del linguaggio naturale
- ✓ Pattern Matching: Riconoscimento pattern nel testo
- ✓ Customer Feedback Analysis: Analisi feedback clienti
- ✓ Data Classification: Classificazione automatica dati
- ✓ Interactive Systems: Sistemi interattivi con input utente
Prossimi Passi nell'IA Testuale
Nella prossima esercitazione imparerai:
- 🧠 Machine Learning per NLP
- 📈 Analisi di grandi dataset testuali
- 🔍 Sistemi di raccomandazione basati su testo
- 🤖 Chatbot intelligenti
- 📊 Dashboard per analisi sentiment in tempo reale
Hai costruito le basi per diventare uno specialista in NLP e analisi del sentiment!