Nei giorni scorsi il Sole24Ore ha arricchito la sua offerta di podcast con due nuovi prodotti: Le Borse oggi e Covid, contagi e vaccini oggi. Due podcast quotidiani che aggiornano l’ascoltatore sulle chiusure delle principali borse europee e mondiali e sulla situazione della pandemia e della campagna di vaccinazione in Italia e nel mondo. Due podcast completamente automatici che nessun essere umano scrive su una tastiera o legge a un microfono.

AI Anchor

Questi due podcast sono i primi prodotti giornalistici di un lungo lavoro di ricerca e sviluppo che Dataninja ha fatto insieme al Sole24Ore e al Centro di tecnologie del linguaggio naturale dell’Università di Pisa con il supporto di Google nell’ambito del programma Google News Initiative. Il sistema sviluppato si chiama AI Anchor e produce automaticamente testi e podcast a partire dai dati strutturati provenienti da diverse fonti (in inglese, data-to-text generation). Si tratta di un’applicazione di generazione di linguaggio naturale (in inglese, Natural Language Generation, un sotto campo del più generale Natural Language Processing) che rientra nell’ambito della ricerca sull’Intelligenza Artificiale. Il principale obiettivo è produrre testi e audio che siano corretti dal punto di vista semantico (quindi del significato dell’informazione espressa), ma che raccontino i dati in maniera naturale, sia sotto forma testuale, che parlata. Si tratta di trovare il giusto equilibrio tra accuratezza del contenuto e naturalezza della forma, con la massima attenzione sul primo concetto per evitare qualsiasi errore nel messaggio finale.

Raccogliere i dati

La prima sfida è raccogliere i dati necessari da fonti esterne affidabili, pubbliche o meno, ed elaborarli ulteriormente. La fonte per i dati di borsa è fornita direttamente dal Sole24Ore: si tratta di dati il cui accesso è possibile solo attraverso provider abilitati. Le fonti dei dati sulla pandemia sono invece pubbliche: i repository su Github del Dipartimento della Protezione Civile e della Struttura Commissariale per l’Emergenza Covid-19. Abbiamo sviluppato dei connettori specializzati in modo da avere massima flessibilità nell’aggiunta di nuove fonti o nell’aggiornamento di quelle già incluse.

La seconda sfida è arricchire questi dati in modo da garantire il giusto contesto alle storie prodotte. I dati primari provenienti da fonti diverse possono essere uniti tra loro e arricchirsi a vicenda, per esempio al numero di nuovi positivi di una regione possiamo affiancare la popolazione della regione stessa, in modo da ottenere l’incidenza, cioè i nuovi positivi per 100 mila abitanti. Abbiamo costruito un knowledge graph interno per gestire tutte le informazioni di contesto, quelle che non cambiano frequentemente come le quotazioni degli indici di borsa o il numero di nuovi contagi giornalieri. Questa base dati specializzata si chiama così perché contiene il significato dei dati, le relazioni semantiche tra di essi, ma anche le informazioni grammaticali e fonetiche degli oggetti che i dati rappresentano. Un esempio sono i nomi delle regioni: la Lombardia è femminile singolare e si legge in un certo modo, il Piemonte è maschile singolare e si legge in un altro, le Marche è femminile plurale, ecc.

Raccontare le storie

Per garantire la massima accuratezza, AI Anchor fa uso di un sistema molto flessibile di modelli linguistici (in inglese, template) preparati dai giornalisti e gli editor del Sole24Ore mediante un’opportuna interfaccia grafica. Questi template permettono di raccontare singoli fatti (es. “La regione Piemonte ha registrato un aumento dei casi dello 0,8%”), ma non contengono i dati veri e propri, solo i riferimenti ai dati. La frase di esempio sul Piemonte viene generata da un modello (es. “La regione #NomeRegione ha registrato un #DirezioneVariazione dei casi del #ValoreVariazione“) solo nel momento in cui viene associato ai dati. Così un modello può generare infinite frasi, per tutti i valori possibili delle variabili che contiene. E a parità di dati può farlo in molti modi diversi, garantendo una sufficientemente ampia variabilità linguistica.

I giornalisti e gli editor possono poi assemblare questi modelli per comporre un vero e proprio modello di articolo contenente dati da più fonti diverse, come se fossero mattoncini di una costruzione. Un articolo sulla chiusura di borse si può aprire con un paragrafo sulle performance di Piazza Affari, poi una panoramica delle borse europee, poi un focus sui principali cambi valutari. Per ogni paragrafo si possono definire delle logiche che selezionano i dati da associare ai modelli, in modo da poter raccontare per esempio la situazione delle sole tre regioni con più alto numero di contagi.

Leggere e ascoltare

Con la preparazione dei modelli il lavoro umano è sostanzialmente concluso. I dati sottostanti si aggiornano e i connettori li raccolgono e arricchiscono automaticamente a partire dalle fonti esterne. Le logiche dell’articolo selezionano i dati di interesse che vengono poi associati ai modelli per produrre il testo finale. Un servizio automatico di correzione grammaticale, addestrato su un vasto corpus di documenti in italiano, controlla il testo e applica eventuali correzioni a partire dalle informazioni grammaticali provenienti dal knowledge graph. Un servizio di lettura automatica (in inglese, text-to-speech, al momento offerto da Amazon Polly) trasforma il testo in audio che con l’aggiunta di un jingle di apertura diventa il podcast pubblicato.

Personalizzazione, assistenti vocali, data literacy

La produzione automatica di contenuti editoriali accurati e naturali a partire dai dati apre le porte ad applicazioni interessanti nell’ambito del giornalismo e non solo, dall’offerta di contenuti altamente personalizzati a nuove tipologie di servizi e prodotti su piattaforme innovative come gli assistenti vocali. Poter leggere una notizia e un aggiornamento, ma poter scegliere anche di ascoltarli o vederli, aumenta i luoghi e le occasioni per fruire di questi servizi e abbassa notevolmente le barriere di accesso ai dati e alle informazioni, contribuendo a rendere la data literacy sempre più diffusa.