# Truth discovery

Nell'integrazione dei dati, la truth discovery (letteralmente "definizione della verità") è il processo di selezione del valore di verità di un determinato oggetto quando sorgenti di dati diverse forniscono informazioni contrastanti su di esso.
Diversi algoritmi sono stati proposti per risolvere questo problema. Il metodo più semplice è basato sulla selezione del valore più popolare come valore di verità, altri metodi più sofisticati danno una stima dell'attendibilità delle varie sorgenti di dati allo scopo di ottenere un risultato più accurato.
I problemi di truth discovery possono essere suddivisi in due sottoclassi: single-truth discovery e multi-truth discovery. Nel primo caso ad ogni oggetto è associato un solo valore di verità (ad esempio il compleanno di una persona, o la capitale di un paese). Mentre nel secondo caso ad ogni oggetto sono associati più valori di verità (ad esempio il cast di un film o gli autori di un libro).
In genere, la fase di truth discovery è l'ultimo passo da svolgere durante l'integrazione dei dati, quando gli schemi di diverse sorgenti di dati sono stati unificati e i record che si riferiscono allo stesso oggetto sono stati identificati.

## Principi generali

L'abbondanza di dati disponibili sul web rende sempre più probabile l'eventualità di incorrere in fonti diverse che forniscono valori discordanti (parzialmente o completamente) per lo stesso oggetto. Il fatto che oggigiorno ci affidiamo sempre più ai dati trovati in rete per prendere decisioni importanti rende indispensabile lo sviluppo affidabili algoritmi di truth discovery.
Molti metodi attualmente disponibili utilizzano una strategia basata sul voto per definire il valore di verità di un oggetto. Tuttavia, studi recenti su dataset appartenenti a domini diversi hanno dimostrato che, se assumiamo come verità il valore più popolare, si potrebbe ottenere un valore non corretto nel 30% dei casi.
La soluzione a questo problema è valutare l'attendibilità delle fonti e dare più importanza ai voti provenienti da fonti attendibili.

## Single-truth e multi-truth discovery

Le tecniche utilizzate per risolvere i problemi single-truth sono molto diverse da quelle utilizzate per risolvere i problemi multi-truth.
I problemi single-truth sono caratterizzati dalle seguenti proprietà:
* consentono un solo valore di verità per ogni oggetto;
* valori diversi forniti per un oggetto si oppongono l'un l'altro;
* i valori e le sorgenti possono essere corretti o errati.
Mentre, nel caso multi-truth, valgono le seguenti proprietà:
* la verità è composta da un insieme di valori;
* valori diversi potrebbero fornire una verità parziale;
* fornire un valore per un dato oggetto non implica l'opposizione a tutti gli altri valori;
* il numero di valori di verità per ogni oggetto non è noto a priori.
Il caso multi-truth ha caratteristiche uniche che rendono il problema più complesso e dovrebbero essere prese in considerazione quando si sviluppano soluzioni di truth discovery.
Gli esempi qui di seguito evidenziano le principali differenze tra i due metodi. Sapendo che in entrambi gli esempi la verità è fornita dalla fonte 1, nel caso single-truth (prima tabella) possiamo dedurre che le fonti 2 e 3 si oppongono alla verità e quindi forniscono valori errati; d'altra parte, nel secondo caso (seconda tabella), le fonti 2 e 3 non sono né corrette né errate, bensì forniscono un sottoinsieme dei valori di verità (verità parziale).
Quando è nato George Washington? :
| Sorgente | Nome | Data di nascita | |
| S1 | George Washington | 22-02-1732 | Corretto |
| S2 | George Washington | 17-09-1738 | Errato |
| S3 | George Washington | 23-10-1734 | Errato |
Chi ha scritto “La natura dello spazio e del tempo”? :
| Sorgente | Titolo | Autori | |
| S1 | La natura dello spazio e del tempo | Stephen Hawking, Roger Penrose | Corretto |
| S2 | La natura dello spazio e del tempo | Stephen Hawking | Verità parziale |
| S3 | La natura dello spazio e del tempo | Roger Penrose | Verità parziale |
| S4 | La natura dello spazio e del tempo | J. K. Rowling | Errato |

## Attendibilità delle sorgenti

La maggioranza dei metodi di truth-discovery utilizzano una strategia basata sul voto: le fonti votano per i valori di un oggetto e, alla fine, il valore che ottiene più voti viene selezionato come valore di verità. Nei metodi più sofisticati, i voti non hanno lo stesso peso per tutte le sorgenti, maggiore importanza è data ai voti provenienti da fonti attendibili.
L'attendibilità delle fonti di solito non è nota a priori ma è valutata attraverso un approccio iterativo. Ad ogni passo dell'algoritmo di truth discovery il punteggio di attendibilità di ciascuna sorgente viene aggiornato, migliorando la valutazione dei valori di verità che a sua volta porta ad una stima migliore dell'attendibilità delle fonti. Questo processo di solito termina quando tutti i valori raggiungono uno stato di convergenza.
L'attendibilità delle sorgenti può essere basata su metriche diverse, come l'accuratezza dei valori forniti, il fatto che una sorgente copi dei valori da altre sorgenti e la copertura del dominio.
Identificare i valori copiati è molto importante, infatti la copia consente di diffondere i valori falsi molto facilmente e questo può rendere molto difficile la scoperta della verità poiché molte fonti potrebbero votare per i valori sbagliati. In molti sistemi l'importanza dei voti associati ai valori copiati viene ridotta o non vengono presi in considerazione.

## Metodi single-truth

La maggior parte dei metodi di truth-discovery attualmente disponibili sono stati progettati per funzionare solo nel caso single-truth.
Di seguito sono riportate alcune delle caratteristiche più rilevanti di alcune tipologie dei metodi single-truth e, in particolare, viene presentato in che modo i diversi sistemi stimano l'attendibilità delle sorgenti di dati.

### Majority voting

Selezionare il valore più popolare come valore di verità è il metodo truth-discovery più semplice. Questo metodo viene spesso usato come base per valutare le prestazioni di metodi più complessi.

### Web-link

Questi metodi stimano l'attendibilità della fonte sfruttando una tecnica simile a quella utilizzata per misurare l'autorità delle pagine Web in base ai collegamenti tra le pagine. Il voto assegnato ad un valore è calcolato come la somma dell'attendibilità delle fonti che forniscono quel particolare valore, mentre l'attendibilità di una fonte è calcolata come la somma dei voti assegnati ai valori che fornisce.

### Information-retrieval

Questi metodi stimano l'attendibilità della fonte utilizzando misure di similarità tipicamente utilizzate in information-retrieval. L'attendibilità della fonte è stimata calcolando la cosine similarity (o altre misure di similarità) tra l'insieme di valori forniti dalla sorgente e l'insieme di valori considerati veri (selezionati in modo probabilistico oppure ottenuti da un dataset manualmente annotato).

### Bayesian

Questi metodi utilizzano l'inferenza bayesiana per definire la probabilità che un valore sia vero sulla base dei valori forniti da tutte le sorgenti.
$P(v\mid \psi (o))={\frac {P(\psi (o)\mid v)\cdot P(v)}{P(\psi (o))}}$
dove $\textstyle v$ è un valore fornito per un oggetto $\textstyle o$ e $\textstyle \psi (o)$ è l'insieme dei valori forniti delle sorgenti per quello specifico oggetto.
L'attendibilità di una fonte viene quindi calcolata sulla base dell'accuratezza dei valori che fornisce. Altri metodi più complessi sfruttano l'inferenza bayesiana per rilevare comportamenti di copia e utilizzano queste informazioni per valutare meglio l'attendibilità delle fonti.

## Metodi multi-truth

A causa della complessità dei problemi multi-truth, meno attenzione è stata dedicata al loro studio.
Di seguito sono riportate alcune delle caratteristiche di due tipologie di metodi multi-truth.

### Bayesiani

Questi metodi utilizzano l'inferenza bayesiana per definire la probabilità che un gruppo di valori sia vero sulla base dei valori forniti da tutte le sorgenti di dati. In questo caso, poiché potrebbero esistere più valori di verità per ogni oggetto, e le sorgenti possono fornire più valori per un singolo oggetto, non è possibile considerare i valori singolarmente; è necessario applicare procedure di mapping e valutare le relazioni tra i valori forniti e le fonti che li forniscono. L'attendibilità di una fonte viene poi calcolata in base all'accuratezza dei valori forniti.
Metodi più sofisticati considerano anche la copertura di dominio e i comportamenti di copia per meglio stimare l'attendibilità delle fonti.

### Modelli probabilistici geografici

Questi metodi utilizzano modelli grafici probabilistici per definire automaticamente l'insieme dei valori corretti di un determinato oggetto e valutare la qualità della sorgente.

## Applicazioni

Molte applicazioni possono trarre vantaggio dall'uso di algoritmi di truth discovery. Ambiti di applicazione tipici comprendono: healthcare, crowd/social sensing, crowdsourcing, estrazione di informazioni e costruzione di knowledge base.
Gli algoritmi di truth discovery potrebbero anche essere usati per rivoluzionare il modo in cui le pagine web sono classificate dai motori di ricerca, sostituendo i metodi attuali basati sull'analisi dei link come PageRank, con procedure che classificano le pagine web sulla base all'accuratezza delle informazioni che forniscono.