Efficienza delle notifiche
Il modulo DEA ha lo scopo di fornire una valutazione sull’efficienza relativa di un insieme di notifiche. Tale efficienza può tenere conto di un insieme di fattori oggettivi
L’utilizzo del text mining all’interno del progetto Cloud4City ha come scopo quello di offrire un supporto conoscitivo e valutativo rispetto agli eventi realizzati. Per far questo abbiamo scelto di fornire uno strumento tecnologico per valutare il sentiment di messaggi testuali.
L’analisi del sentiment è una tecnica che permette di classificare elementi testuali sulla base dei contenuti espressi dall’autore. Questa tecnica può essere utilizzata per diversi scopi, come ad esempio: (1) valutare il sentiment o l’opinione di una singola persona riguardo ad un determinato prodotto o servizio, (2) estendere la valutazione su un campione più ampio di utenti per conoscere un’opinione comune, (3) valutare la tendenza, ovvero come la valutazione varia, o al contrario è stabile, nel tempo.
A partire dalle conversazioni tra utenti riguardo ad un evento vogliamo fornire una analisi del sentiment dei messaggi. Per effettuare l’analisi del sentiment è ragionevole operare suddividendo le conversazioni in messaggi singoli e poi procedere alla loro analisi e valutazione, messaggio per messaggio. Infatti, processare l’intera conversazione come un unico testo sarebbe una scelta non adatta, dato che i messaggi possono esprimere sentimenti e opinioni discordanti.
Una declinazione comune e tra le più usate di analisi del sentiment è valutare la polarità del testo. Definiamo due modalità differenti, tra le più utilizzate:
La nostra scelta per i fini del progetto è quella di utilizzare un approccio a tre classi (‘Positivo’, ‘Neutrale’, ‘Negativo’), dal momento che è ragionevole pensare che non tutti i testi siano caratterizzati da una polarità, ma al contrario in un flusso di messaggi tra utenti ci saranno testi con polarità non definita (es. polarità discordante o senza polarità).
Il processo di ricerca si è evoluto in diverse fasi, sperimentando diversi approcci per la creazione di uno strumento per l’analisi dell’opinione.
Le soluzioni identificate sono state valutate su un unico dataset di test, e questo ha portato all’identificazione della tecnologia più efficace per lo strumento di analisi del sentiment.
I diversi approcci sperimentati sono:
Nella fase di addestramento di un modello di deep learning, e in generale di machine learning, si definiscono iperparametri, dei valori di configurazione o di input dell’algoritmo che ne modificano le capacità di apprendimento. Scegliere valori differenti per gli iperparametri può modificare notevolmente le prestazioni del modello finale e le capacità predittive nella fase di inferenza.
Spesso per selezionare gli iperparametri migliori si effettuano molteplici tentativi (run) di configurazione e si valutano le prestazioni dei modelli risultanti. Per l’esperimento, abbiamo operato eseguendo una Grid Search, ovvero una ricerca esaustiva su tutte le possibili configurazioni degli iperparametri scelti in uno spazio di valori discreto. Le prestazioni sono state misurate su un dataset di validazione, differente da quello di test utilizzato per comparare i diversi approcci.
Gli iperparametri scelti per la ricerca esaustiva, il loro significato, i rispettivi valori e quelli selezionati per l’inferenza (in grassetto) sono descritti nella tabella seguente.
Parametro | Descrizione | Valori |
Learning Rate | Rappresenta quanto velocemente un modello di apprendimento impara, dato che influenza fino a che punto le nuove informazioni acquisite prevalgono su quelle precedentemente acquisite. | 2e-5, 3e-5, 4e-5, 5e-5 |
Batch Size | Dimensione del gruppo di esempi che verranno inviati contemporaneamente alla rete come input di addestramento. I valori ammissibili sono fortemente dipendenti e limitati dalle caratteristiche hardware della macchina che si utilizza per il training. | 4,8 |
Weight Decay | Iperparametro legato alla funzione di ottimizzazione utilizzata, ovvero AdamW, il suo compito è quello di far decrescere i pesi della rete, dato che reti con pesi piccoli tendono a generalizzare meglio e non degradare in over-fitting. | 0, 1e-3, 1e-4, 1e-5 |
Nella seguente immagine (estratta dal portale di Azure Machine Learning), mostriamo i differenti tentativi effettuati durante la Grid Search e la variazione del valore dell’accuratezza al variare degli iperparametri, ogni curva spezzata rappresenta un run differente.
Per valutare una soluzione predittiva devono essere definite delle metriche che rappresentino in maniera quantificabile la capacità di predizione della soluzione.
Nella seguente tabella sono riportate le metriche di valutazione per gli approcci sopra descritti.
Algoritmo | C4CKS | NeuralyBERT | C4CBERT |
Accuratezza | 0.483 | 0.564 | 0.6895 |
Precisione | 0.48 | 0.68 | 0.69 |
Recupero | 0.48 | 0.56 | 0.69 |
F-1 Score | 0.35 | 0.49 | 0.68 |
Il modello C4CBERT è superiore in tutte le metriche ed è quello che viene utilizzato per la fase di inferenza, ovvero per costruire il componente software della piattaforma.
La componente software finale è stata resa disponibile per il progetto Cloud4City attraverso un container Docker che espone REST Api, e che viene interrogato dalle altre componenti della piattaforma.
Il modulo DEA ha lo scopo di fornire una valutazione sull’efficienza relativa di un insieme di notifiche. Tale efficienza può tenere conto di un insieme di fattori oggettivi
L’attivazione di un filo diretto tra cittadini e Pubblica Amministrazione rende possibile non soltanto lo scambio di informazioni e la promozione del territorio ma anche l’invio di avvisi e segnalazioni che reciprocamente notificano gli abitanti e gli enti pubblici locali dei problemi e delle criticità riscontrate nel territorio vissuto quotidianamente.
©2021 Cloud4City | All Rights Reserved.