Vai al contenuto

Analisi del sentiment

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!