Requisiti tecnici per un sistema di Exploratory Computing

Home Open Government Open Data Requisiti tecnici per un sistema di Exploratory Computing

25 Novembre 2015

N

N. Di Blas, M. Mazuran, P. Paolini, E. Quintarelli, L. Tanca, Politecnico di Milano

Con il termine Exploratory Computing ci riferiamo al processo di esplorazione di dati grandi e semanticamente ricchi allo scopo di sottolineare che, al fine di raccogliere le informazioni desiderate, sono necessari adeguati strumenti di calcolo e risorse computazionali per rendere l’esplorazione efficace. Il processo di esplorazione infatti è organizzato in passi interattivi e incrementali tra l’utente e il sistema e i vari passi possono comportare una vasta gamma di operazioni non confinate alla semplice ricerca o interrogazione. Un sistema EC deve supportare l’uso di statistiche, analisi dei dati, interrogazioni esatte e approssimate, suggerimenti, confronti, strumenti grafici, risposte personalizzate etc., il tutto con l’obiettivo di fornire agli utenti un riscontro necessario per progredire verso il passo di esplorazione successivo. Al fine di realizzare questo processo di esplorazione, i sistemi EC richiedono diversi ingredienti tecnici.

Modellazione dei dati: i dati possono essere modellati secondo dei “facet” (cioè delle categorie) che possono essere piatti o organizzati in gerarchie. Ad esempio, un facet che descrive la tecnologia utilizzata nella scuola può essere rappresentato da un attributo “Tecnologia”, mentre un facet che descrive la posizione geografica delle scuole può essere rappresentato da una gerarchia “Città → Regione → Stato”. I facet possono essere modellati sia utilizzando attributi classici che attributi di tipo booleano. Come anticipato nell’introduzione, EC ha senso quando i dati da modellare presentano svariate sfaccettature, sono, in altre parole, semanticamente ricchi.

Modellazione delle esperienze: l’esperienza esplorativa può essere modellata come un grafo in cui ogni nodo rappresenta un passo nel processo esplorativo e contiene i dati manipolati durante tale passo. Ogni nuovo passo esplorativo porta l’utente in un nuovo nodo e mentre il processo continua si crea un percorso all’interno del grafo in cui ogni nodo rappresenta un sottoinsieme dei dati iniziali e ogni arco rappresenta un’azione che porta da un insieme di dati all’altro. Pertanto, il sistema deve essere in grado di supportare gli utenti nell’attraversamento di questo grafo, (i) suggerendo possibili raffinamenti di dati e (ii) permettendo di tornare indietro da ogni passo. La prima caratteristica richiede che il sistema EC suggerisca, ad ogni passo del processo esplorativo, raffinamenti interessanti per l’utente, il quale deciderà se seguirli oppure no. Naturalmente, è necessaria una opportuna definizione di rilevanza, per capire quali facet dovrebbero essere suggeriti.

Sommario dei dati: ad ogni passo di esplorazione il sistema EC dovrebbe essere in grado di calcolare alcune proprietà che descrivono in modo compatto i dataset risultanti nei passi dell’esplorazione. Queste proprietà possono essere: semplici misure statistiche (ad esempio media, mediana, ecc); proprietà più complesse basate su statistiche, come la distribuzione dei valori di ogni facet; altra conoscenza come per esempio proprietà frequenti (anche se approssimate) di singoli facet o di correlazioni di facet. Lo sviluppo di algoritmi di calcolo efficienti, che riassumono i dati on-the-fly in vari modi, svolge un ruolo chiave nello sviluppo dei sistemi EC.

Confronto intensionale e rilevanza: poiché il nostro scenario è molto dinamico e interattivo, il risultato di un passo esplorativo assume più importanza se confrontato con le “aspettative” dell’utente. Dato un facet (o un insieme di facet), le aspettative dell’utente rispetto al valore di una proprietà statistica (ad esempio la media, la distribuzione), valutata sui valori che quel facet assume a ogni passo di esplorazione, possono cambiare dinamicamente da un passo di raffinamento all’altro e possono essere espresse in diversi modi. Ad esempio, se l’uso di tablet nella scuola primaria in Italia è del 20% in media, il sistema dovrebbe aiutare l’utente a rilevare che invece in una regione specifica l’uso è del 35% e dovrebbe anche contribuire a identificare le implicazioni che la cosa ha sugli altri facet. Quindi, le aspettative dell’utente possono essere espresse (i) come costante specificata dall’utente o scelta per lo specifico caso di studio (ii) come una particolare distribuzione (iii) come la distribuzione dei valori ottenuti in una precedente fase di esplorazione, etc. Di conseguenza, un facet può essere considerato rilevante (e quindi interessante) quando confrontato con le aspettative dell’utente. Ci sono scenari in cui le proprietà più importanti sono quelle che maggiormente differiscono dalle aspettative oppure scenari in cui una proprietà può essere rilevante quando è vicino alle aspettative degli utenti. E’ da notare che le aspettative degli utenti possono avere diverse origini: conoscenza precedente, conoscenza comune, esplorazione precedente di dataset simili, esplorazione di altre parti di questo dataset, etc.

Descrivere i dati tramite le loro proprietà piuttosto che elencando i valori che assumono porta in primo piano sfide e argomenti di ricerca interessanti. Nel nostro scenario, siamo interessati a definire le comuni operazioni insiemistiche, come unione, intersezione e la differenza, anche per gli insiemi di proprietà. Cosa vuol dire effettuare la differenza tra due insiemi di proprietà invece che tra due insiemi di dati? Supponiamo di avere l’insieme delle esperienze che hanno fatto uso di tablet nel Nord Italia (S1) e quelli del Sud Italia (S2), calcolando quelle proprietà che “fanno la differenza” tra i due insiemi S1 e S2 il sistema potrebbe portare alla luce che la distribuzione di altri facet, come ad esempio i benefici relazionali, nel Sud Italia è diversa da quella del Nord Italia.

Visualizzazione: le proprietà determinate dal sistema EC devono essere mostrate agli utenti in modo intuitivo. Pertanto, sono necessari metodi di visualizzazione efficienti ed efficaci.

In conclusione, Exploratory Computing è un nuovo paradigma per l’accesso a insiemi di dati che sono sia grandi ma soprattutto ricchi: se l’insieme contenesse dati semanticamente poveri, come ad esempio le rilevazioni di un sensore, EC sarebbe praticamente inutile. Un sistema EC, infatti, fornisce dei riscontri che sono importanti quanto le richieste degli utenti: l’esplorazione non è incentrata su “che oggetti appartengono” a un insieme di dati, ma su “quali sono le proprietà rilevanti” di questi oggetti. Il sistema può fornire diversi tipi di riscontri, ad esempio evidenziare la distribuzione di un dato facet o il modo in cui tale facet influenza gli altri. L’interattività del paradigma, le sue capacità di sintesi delle caratteristiche dei dati e di visualizzazione sono costituenti fondamentali. Inoltre, un sistema EC è tanto più interessante quanto più consente di andare oltre le aspettative dell’utente, talvolta conducendolo verso risposte inaspettate.


[1] N. Di Blas, M. Mazuran, P. Paolini , E. Quintarelli, L. Tanca. Exploratory computing: a challenge for visual interaction. AVI, 2014. 361- 362.