Quando abbiamo deciso di creare un analizzatore di sentiment, la richiesta arrivava da chi aveva bisogno di capire velocemente il tono delle recensioni o dei messaggi dei clienti senza affidarsi a servizi esterni. L'obiettivo principale era la privacy: volevamo che ogni valutazione rimanesse sul computer dell'utente.
Dall'idea al prototipo
Siamo partiti studiando set di dati pubblici con frasi etichettate come positive, neutre o negative. Non serviva ricreare un paper accademico: puntavamo a un modello leggero, addestrato in precedenza, facile da caricare nel browser. La scelta è caduta su TensorFlow.js, che ci ha permesso di sfruttare la potenza della GPU senza richiedere installazioni. Per ridurre gli errori dovuti alle differenze linguistiche, abbiamo costruito un piccolo flusso di pulizia del testo (rimozione di emoji duplicate, normalizzazione dei caratteri speciali, gestione delle maiuscole). Solo dopo questa fase il testo viene inviato al modello, che restituisce la probabilità per ciascun tono.
Come funziona l'app oggi
Nel [Classificatore di testo] puoi scegliere se concentrarti solo sul sentiment o ottenere anche la lingua principale del messaggio. Tutto avviene in locale: il browser scarica il modello al primo utilizzo e lo riusa, così le analisi successive sono quasi immediate.
Quando inserisci un testo, l'interfaccia mostra:
- un'etichetta qualitativa (positivo, neutro, negativo) basata sulla probabilità più alta;
- un punteggio da 0 a 1 che ti aiuta a valutare la sicurezza della previsione;
- un grafico a barre che confronta i tre valori.
Queste informazioni sono pensate per decisioni operative rapide: rispondere subito a un reclamo, evidenziare testimonial entusiasti, ordinare ticket in base all'urgenza.
Limiti da conoscere
Nonostante l'attenzione ai dettagli, un modello generico non può cogliere ogni sfumatura. Le espressioni ironiche o i riferimenti culturali rischiano di essere interpretati al contrario. Anche testi molto brevi (per esempio "ok") offrono poche informazioni e potrebbero essere classificati come neutri.
Inoltre il modello è stato addestrato su dati multilingua ma privilegia l'italiano e l'inglese: su lingue meno presenti nel dataset la confidenza tende ad abbassarsi. Per scenari altamente regolati (finanza, sanità) consigliamo comunque una validazione umana prima di affidarsi alle previsioni.
Non ultimo, abbiamo usato librerie pubbliche e di tipo javascript (eseguite localmente sul vostro pc o smartphone) con tutto quanto ne consegue in termini di capacità di elaborazione.
Dove vogliamo arrivare
Stiamo già testando tre evoluzioni:
- Fine tuning su dati personalizzati: permettere alle aziende di caricare esempi propri per allenare un profilo linguistico coerente con il brand.
- Riconoscimento di emozioni specifiche: andare oltre il semplice positivo/negativo per distinguere rabbia, gioia o frustrazione.
- Integrazione con i flussi di lavoro: esportare i risultati verso CRM e help desk tramite webhook o file CSV.
Finché il modello resterà leggero e trasparente sui suoi limiti, crediamo sia uno strumento utile per chi vuole una prima fotografia del sentiment senza dipendere da piattaforme esterne. L'importante è usarlo come un alleato, non come unico giudice.