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.
Scenario Reale: 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
1 Crea una nuova cella su Google Colab e definisci i commenti da analizzare:
PYTHON
# 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
2 Aggiungi l'analisi base per esplorare i dati:
PYTHON
# 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
3 Crea il sistema di intelligenza artificiale per l'analisi del sentiment:
PYTHON
# 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)}")
Spiegazione del Sistema IA: β’ 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
4 Crea una nuova cella per organizzare i risultati:
PYTHON
# 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
5 Crea un sistema di consultazione interattivo:
PYTHON
# 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
6 Aggiungi analisi statistiche per report completi:
PYTHON
# 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!