Crew Slack.Insights → Comprendere lo stato d’animo di un team che lavora da remoto

Quando toni di voce, espressioni e volti sono sostituiti da comunicazioni digitali, come possiamo riconoscere emozioni e stati d’animo di un team che lavora da remoto?

Antonio Mazzei
Antonio Mazzei Principal, Technology
Aprile 1, 2022
  • Artificial Intelligence
  • Natural Language Processing

Il periodo più critico della pandemia ha definitivamente sdoganato la modalità di lavoro da remoto, aprendo conversazioni e dibattiti su come potrebbe integrarsi molto più velocemente del previsto nel prossimo futuro. L’intensificarsi di questa pratica infatti porta con sé tanti cambiamenti, in primis la modalità di comunicazione interpersonale. Mentre ognuno sta sulla propria isola, non ci si vede di persona e di conseguenza diventa difficile capire come si sente per davvero un collega o il proprio team di lavoro.

 

Mettetevi nei panni di un project manager o di un dirigente, interessati ad avere una vista comparativa dei vari progetti e/o un’indicazione su come i dipendenti stanno vivendo il loro lavoro: come possono capire se c’è entusiasmo, stress, affiatamento o collaborazione?

 

Beh, una cosa certa è che quando lavoriamo da remoto, non smettiamo di comunicare e continuiamo a comunicare attraverso le centinaia di messaggi che ci scambiamo ogni giorno su strumenti e piattaforme di collaborazione aziendale. Di fatto quindi, una parte di quei segnali che di solito ci aiutano a intercettare le emozioni dell’altro attraverso la comunicazione vis a vis (per esempio il tono di voce e le espressioni del volto), non scompaiono, ma semplicemente viaggiano su altre frequenze: le parole e i testi che usiamo per interagire in quelle centinaia di messaggi ogni giorno.

Per questo, un piccolo gruppo di noi esperti di linguistica computazionale ha deciso di provare ad approfondire l’argomento costituendo una Crew, la Crew Slack.Insights, che nasce dall’incrocio tra un dilemma contemporaneo — la lettura dello stato d’animo e della qualità lavorativa di un team distribuito che interagisce da remoto — e una delle nostre competenze specifiche — l’analisi linguistica.

 

L’obiettivo della Crew ci è stato chiaro fin dall’inizio: individuare nuovi strumenti e metodi per valutare, aggregare e distribuire oggettivamente nel tempo le emozioni espresse da un gruppo che lavora da remoto, analizzando la qualità delle interazioni che avvengono attraverso i testi scritti nei canali di comunicazione prescelti per comunicare, come ad esempio un canale Slack.

 

Inutile dire che appena ci siamo messi all’opera, sapevamo di avere già in casa un pezzo della risposta, ovvero lo strumento da utilizzare: la nostra piattaforma di text analytics, CELI Analytics.

 

CELI Analytics è una piattaforma di text mining e text analytics che ci consente di organizzare e classificare automaticamente testi, effettuare clustering di documenti, identificare le opinioni ed il sentiment, configurare l’analisi automatica per un particolare dominio d’interesse, correlare le informazioni estratte con altri dati disponibili.

 

Come l’abbiamo utilizzata? Ve lo raccontiamo nei prossimi paragrafi.

 

Disclaimer: ci teniamo a precisare che questo tipo di analisi è pensato a supporto del lavoro di un gruppo e non come un sistema di controllo del singolo. L’analisi di testi e messaggi scritti viene svolta nel rispetto della privacy dei singoli utenti e in modo anonimo.

Il pitch di Antonio Mazzei della Crew Slack.Insights.

 

Fase 1 → Definire i perimetri del progetto

Prima di iniziare è stato importante chiarire entro quale perimetro ci saremmo mossi definendo le fonti dei testi da analizzare e le emozioni da intercettare.

 

Seguendo gli insegnamenti del compianto Dott. K (qualcuno ha mai visto la Mosca?) per quanto riguarda le fonti dei testi abbiamo deciso di utilizzare noi stessi come cavie e analizzare i messaggi scambiati in 4 canali della nostra chat interna dedicati a quattro progetti diversi (per un volume totale di circa 20 mila messaggi). Non abbiamo osservato i canali in real time, ma abbiamo estratto i messaggi scambiati nei canali negli ultimi 9 mesi di conversazione.

A proposito invece delle emozioni da intercettare, nonostante sarebbe stato interessante osservare tutto lo spettro emotivo dei modelli usati solitamente nella letteratura scientifica (per esempio Ekman e Plutchik), ci siamo soffermati solo su quelle secondo noi caratterizzanti per la tipologia di interazioni presenti in un gruppo di lavoro: frustrazione, ansia, stallo, entusiasmo, serenità, empatia.


Fase 2 → Addestrare CELI Analytics a riconoscere emozioni

Definiti i perimetri d’azione della ricerca, la prima cosa che abbiamo fatto è stato estrarre i messaggi di testo dai canali Slack oggetto dell’analisi e iniziare l’addestramento di CELI Analytics al riconoscimento delle emozioni. Come? Tramite una sua funzionalità specifica, il Deep Learning, ovvero l’addestramento delle reti neurali e la classificazione di contenuti tramite esempi.

 

Cosa significa? Vi starete chiedendo. Tranquilli, ve lo spieghiamo subito. Le reti neurali di CELI Analytics di fatto sono già pre addestrate su una grande mole di dati, da cui apprendono un modello del linguaggio, ma la loro conoscenza deve essere affinata per adattarsi ogni volta al compito specifico tramite degli esempi validati.

 

In pratica, avviene attraverso un processo iterativo in tre fasi:

  • Associazione manuale: in primis abbiamo associato manualmente alcuni dei contenuti provenienti dai messaggi Slack alle emozioni che abbiamo selezionato (almeno 100 esempi per emozione).
  • Annotazione automatica: successivamente abbiamo lanciato l’addestramento e annotato in automatico tutti i messaggi.
  • Calibrazione: infine abbiamo valutato la bontà del risultato su di un test set, ricalibrando il modello finché necessario (con nuovi esempi e segnalazione di categorizzazioni errate) per poi tornare al punto 2.

Seguendo questo processo, abbiamo addestrato CELI Analytics a raggruppare in automatico i messaggi per progetto, tipo di emozione e giorno.


Fase 3 → Aggiungere e aggregare informazioni

Il passo successivo, partendo dai risultati dell’addestramento, è stato completare le informazioni estratte con dei dati di contorno per permetterci interpretare le aggregazioni di CELI Analytics in modo efficace. Per esempio abbiamo creato una baseline emozionale combinando i valori medi di ogni canale di progetto per captare eventuali scostamenti significativi.

 

Questa informazione è particolarmente importante perché permette di monitorare nel tempo l’andamento delle emozioni rispetto alla media e riconoscere quindi un’eventuale anomalia. Altri dati aggiuntivi invece hanno riguardato la qualità della vita lavorativa, ad esempio il tempo medio entro cui viene fornita una risposta o la distribuzione delle comunicazioni all’interno della giornata.

 

Aggregando e remixando tutte queste informazioni, siamo giunti a una serie di visualizzazioni che ci hanno consentito di comprendere lo stato d’animo del gruppo di lavoro, rispondendo alle domande che potrebbe avere un PM o un dirigente interessato a capire come sta per davvero il suo team.

 

Ecco com’è andata la lettura di uno dei canali esaminati, dedicato alla gestione di un progetto durato circa 8 mesi.


Fase 4 → La lettura finale dello stato d’animo

La prima visualizzazione che abbiamo creato con i dati elaborati da CELI Analytics, è un grafico a torta che distribuendo le diverse emozioni emerse dai messaggi scambiati all’interno del canale del progetto fa emergere uno spaccato immediato del clima di lavoro: un progetto complicato, sfidante, con un’alta sensazione di frustrazione e stallo, ma anche tanta empatia e un gruppo coeso.

Successivamente, abbiamo incrociato la distribuzione delle emozioni nel tempo (aggregate per giorno) con gli eventi rilevanti nella vita del progetto (es: kick-off, sprint review, demo) e questo ci ha consentito di identificare quando ci sono stati dei momenti particolarmente intensi e stressanti.

L’analisi delle emozioni aggregate per utente invece, ci ha permesso di identificare possibili criticità nella comunicazione all’interno di un team specifico. Infatti, se tale analisi viene comparata all’andamento medio di una persona all’interno dei vari progetti, possiamo intercettare eventuali situazioni problematiche. Se Mr. Pink ad esempio risulta in stallo su un progetto, ma in genere non lo è negli altri, potrebbe aver senso approfondire le cause.

Infine, l’analisi dei tempi di risposta e di quando si è lavorato ci parla di un gruppo reattivo e che non teme di fare qualche extra.


Cosa abbiamo imparato?

A livello di metodo abbiamo avuto la conferma che quando si vogliono far parlare i dati bisogna saperli ascoltare, senza avere preconcetti. Inutile cercare nei dati ciò che non esiste: nel nostro caso ricercare emozioni “classiche” (rabbia, paura, amore, etc..) non sarebbe stato significativo. Conviene analizzare i dati con mente aperta ed interrogarsi su come possiamo sfruttare in modo efficace i segnali che riusciamo ad intercettare. Nel nostro esperimento, per esempio, abbiamo incrociato i segnali relativi alle emozioni con le timeline di progetto o calcolato gli scostamenti rispetto alla media del progetto, per individuare e gestire anomalie e criticità.

 

A livello di merito abbiamo verificato sperimentalmente che la tempestività nell’avere alcune informazioni aggregate (lo stato emotivo del team) può essere di grande aiuto nella gestione (e revisione) di progetti da remoto e con una serrata programmazione.

 

Possiamo riutilizzare quanto abbiamo imparato in altri contesti? Secondo noi sì. In particolare in tutti quei casi in cui degli utenti si scambiano messaggi rispetto ad un’esperienza condivisa. Ad esempio, i commenti espressi durante un evento online (come un seminario, un hackaton, un programma televisivo) possono essere utilizzati per tastare il polso del pubblico ed individuare i momenti di maggior coinvolgimento, cosa funziona e cosa no.

Per saperne di più sulla Crew Slack.Insights:

innovation@h-farm.com