Pokedem apprende a gestire account Twitter

Pokedem è un’applicazione Web per gestire account Twitter. Il suo obiettivo è aumentare la produttività e la qualità della gestione degli account attraverso tecniche di intelligenza artificiale e apprendimento automatico. La principale caratteristica dell’applicazione è la capacità di apprendere a costruire, filtrare, ordinare e programmare tutte le azioni eseguibili su Twitter: tweet, like, retweet, follow e unfollow. Tutte le azioni eseguite dal social media manager sull’account sono utilizzate come esempi per addestrare un algoritmo a suggerire e programmare per l’esecuzione nuove azioni. Accettando, modificando o ignorando i suggerimenti ricevuti si continua l’addestramento, raffinando il modello di gestione dell’account per passi successivi. Questo consente all’utente di utilizzare Pokedem come un aiutante virtuale che può svolgere tutte o in parte le sue attività sul social network. Potenzialmente, in qualsiasi istante, l’applicazione può sostituire interamente l’account manager nella generazione e programmazione delle azioni, ma richiederà sempre la sua approvazione per la loro esecuzione. Di seguito è data una breve introduzione generale dell’applicazione. Si rimanda ad articoli successivi la descrizione dettagliata delle funzionalità disponibili.

Pokedem organizza la gestione degli account Twitter in progetti: un progetto per account. Per creare un progetto, l’utente si deve registrare al sito. Più utenti possono lavorare allo stesso progetto: il proprietario del progetto (o qualsiasi amministratore del progetto) può invitare altri collaboratori e assegnare ruoli. Per esempio, nell’immagine seguente sono mostrati alcuni dei progetti a cui partecipo e i ruoli assunti.

Dopo la creazione del progetto, segue la fase di configurazione. Il primo passo consiste nello specificare l’account Twitter che si vuole gestire: all’utente è richiesto di concedere l’accesso in lettura e scrittura dell’account. Nel seguito dell’articolo utilizzo il mio account personale @clagiuliano a scopo esemplificativo. Ogni azione eseguibile sul social network, cioè, tweet, like, retweet, follow e unfollow, ha un suo specifico raccomandatore che necessita di essere attivato e configurato per poter fornire suggerimenti. La figura di seguito mostra il pannello di configurazione del raccomandatore dei like.

Attraverso la configurazione si specificano quali sono i Tweet candidati ad un like. Nell’esempio, i candidati sono tutti i tweet che menzionano il mio account e quelli prodotti dagli account specificati in alcune liste pubbliche che ho creato. Inoltre, si può specificare se includere tra i canditati i commenti, i retweet e le citazioni. Infine, si possono specificare il numero massimo di raccomandazioni da generare e il tempo dopo il quale esse devono svanire. Il raccomandatore dei retweet si configura nello stesso modo. La configurazione per follow e unfollow, diversamente dai due precedenti, richiede di specificare come candidati degli account, lo si può fare specificando liste di account.

Terminata la configurazione, i candidati (tweet e account) sono collezionati, filtrati e ordinati dall’algoritmo di apprendimento che opera dietro le quinte e produce periodicamente nuove raccomandazioni, mostrate distinte le une dalle altre. La figura seguente mostra la raccomandazione di like con punteggio più alto, che ho ricevuto in un dato momento, non sono mostrate nella figura, per ragioni di spazio, altre sette raccomandazioni.

In questo esempio, l’algoritmo di raccomandazione mi suggerisce di fare un like ad un tweet dell’account @FBKcom. Cerchiamo di capire perché ho ricevuto questo specifico suggerimento e perché è il migliore in un dato istante. Innanzitutto, ho configurato l’applicazione in modo che i contenuti di chi ho inserito nelle liste, per esempio questo account, siano considerati come candidati per un like, al momento della raccomandazione sono otto i tweet candidati per un like. In secondo luogo, ho fatto dei like ai contenuti di questo account nel passato. L’algoritmo di apprendimento automatico ha quindi calcolato la mia preferenza per questo tweet, 4,6 su 5, utilizzando tutte le mie preferenze sui contenuti di @FBKcom, espresse nel passato, come esempi di addestramento. Si consideri che le mie preferenze non includono solamente tutti i tweet a cui ho fatto like (esempi positivi) ma anche tutte le raccomandazioni di like a @FBKcom che ho visto, scorrendo la lista delle azioni suggerite, ma che non ho eseguito (esempi negativi). Con gli esempi positivi ho indicato quello che mi piace e con quelli negativi quello che non mi piace, non solo su questo account ma su tutti quelli che seguo. Per modellare le mie preferenze, l’algoritmo di apprendimento rappresenta gli account e i contenuti con molteplici caratteristiche, per esempio, il numero di follower, la lingua, i contenuti, ecc. Lo stesso processo è stato eseguito su tutti i candidati, consentendo di ordinarli per preferenza, dal migliore al peggiore. Infine, ho accettato il particolare suggerimento, ulteriormente rinforzando la mia preferenza per questo account e per il contenuto del tweet. Ogni azione raccomandata può essere eseguita immediatamente o programmata nel futuro. Analogamente, si può addestrare Pokedem a gestire una rete di amicizie utilizzando le raccomandazione di follow e unfollow.

Passiamo ora in rassegna i meccanismi a disposizione per twittare. Dando per scontato che un utente può sempre scrivere un proprio tweet da zero, arricchirlo con dei media e programmarlo per l’esecuzione, mi focalizzo sulle raccomandazioni di tweet pre-costruiti da Pokedem. Analogamente agli esempi precedenti, dobbiamo configurare il raccomandatore, specificando come costruire i contenuti candidati per un tweet. Il meccanismo messo a disposizione attualmente consiste nello specificare delle fonti esterne di contenuti e dei modelli per manipolarli. Un risultato è mostrato nella figura seguente, dove si vede, la miglior raccomandazione di tweet ricevuta, ad un certo instante, per il mio account.

Il tweet è stato assemblato a partire da una notizia estratta dal sito Singularity Hub, applicando il modello “titolo URL #tech”, cioè, il tweet è composto dal titolo della notizia, seguito dalla suo URL e da un hashtag che ho ritenuto adeguato per i contenuti di questo sito. Molteplici sorgenti, modelli e filtri possono essere utilizzati per generare contenuti che possono essere accettati, modificati o ignorati. Se si sceglie di modificare il contenuto, alcune tra le possibili modifiche sono suggerite, in particolare: hashtag, menzioni e immagini da inserire nel tweet. Nell’immagine seguente si vedono sulla sinistra i suggerimenti di hashtag per modificare il tweet proposto nell’esempio precedente.

Concludiamo la panoramica delle principali funzioni di Pokedem con la programmazione delle azioni, ricordando che qualsiasi azione creata dall’utente o dai raccomandatori può essere eseguita immediatamente o programmata nel futuro. Nella figura seguente sono mostrate tutte le azioni in esecuzione in un dato istante per il mio account. Nella vista sono mostrate sia le azioni che ho già approvato per le esecuzione che quelle solamente raccomandate, ma per cui Pokedem ha calcolato una possibile data di esecuzione e che richiedono la mia approvazione. Analogamente alle raccomandazioni, la programmazione delle azioni è appresa dalle azioni eseguite dall’utente fino a quel momento oltre a rispettare dei vincoli definiti durante la configurazione, per esempio, non twittare mai di notte o nei festivi.

Pokedem è realizzato all’interno della Fondazione Bruno Kessler dal gruppo Future Media, di cui chi scrive è il responsabile.