Truth discovery

Truth discovery (also known as truth finding) is the process of choosing the actual true value for a data item when different data sources provide conflicting information on it.

Several algorithms have been proposed to tackle this problem, ranging from simple methods like majority voting to more complex ones able to estimate the trustworthiness of data sources.

Truth discovery problems can be divided into two sub-classes: single-truth and multi-truth. In the first case only one true value is allowed for a data item (e.g birthday of a person, capital city of a country). While in the second case multiple true values are allowed (e.g. cast of a movie, authors of a book).

Typically, truth discovery is the last step of a data integration pipeline, when the schemas of different data sources have been unified and the records referring to the same data item have been detected.

General principles
The abundance of data available on the web makes more and more probable to find that different sources provide (partially or completely) different values for the same data item. This, together with the fact that we are increasing our reliance on data to derive important decisions, motivates the need of developing good truth discovery algorithms.

Many currently available methods rely on a voting strategy to define the true value of a data item. Nevertheless, recent studies, have shown that, if we rely only on majority voting, we could get wrong results even in 30% of the data items.

The solution to this problem is to assess the trustworthiness of the sources and give more importance to votes coming from trusted sources.

Ideally, supervised learning techniques could be exploited to assign a reliability score to sources after hand-crafted labeling of the provided values; unfortunately, this is not feasible since the number of needed labeled examples should be proportional to the number of sources, and in many applications the number of sources can be prohibitive.

Single-truth vs multi-truth discovery
Single-truth and multi-truth discovery are two very different problems.

Single-truth discovery is characterized by the following properties:


 * only one true value is allowed for each data item;
 * different values provided for a given data item oppose to each other;
 * values and sources can either be correct or erroneous.

While in the multi-truth case the following properties hold:


 * the truth is composed by a set of values;
 * different values could provide a partial truth;
 * claiming one value for a given data item does not imply opposing to all the other values;
 * the number of true values for each data item is not known a priori.

Multi-truth discovery has unique features that make the problem more complex and should be taken into consideration when developing truth-discovery solutions.

The examples below point out the main differences of the two methods. Knowing that in both examples the truth is provided by source 1, in the single truth case (first table) we can say that sources 2 and 3 oppose to the truth and as a result provide wrong values. On the other hand, in the second case (second table), sources 2 and 3 are neither correct nor erroneous, they instead provide a subset of the true values and at the same time they do not oppose the truth.

Source trustworthiness
The vast majority of truth discovery methods are based on a voting approach: each source votes for a value of a certain data item and, at the end, the value with the highest vote is select as the true one. In the more sophisticated methods, votes do not have the same weight for all the data sources, more importance is indeed given to votes coming from trusted sources.

Source trustworthiness usually is not known a priori but estimated with an iterative approach. At each step of the truth discovery algorithm the trustworthiness score of each data source is refined, improving the assessment of the true values that in turn leads to a better estimation of the trustworthiness of the sources. This process usually ends when all the values reach a convergence state.

Source trustworthiness can be based on different metrics, such as accuracy of provided values, copying values from other sources and domain coverage.

Detecting copying behaviors is very important, in fact, copy allows to spread false values easily making truth discovery very hard, since many sources would vote for the wrong values. Usually systems decrease the weight of votes associated to copied values or even don’t count them at all.

Single-truth methods
Most of the currently available truth discovery methods have been designed to work well only in the single-truth case.

Below are reported some of the characteristics of the most relevant typologies of single-truth methods and how different systems model source trustworthiness.

Majority voting
Majority voting is the simplest method, the most popular value is selected as the true one. Majority voting is commonly used as a baseline when assessing the performances of more complex methods.

Web-link based
These methods estimate source trustworthiness exploiting a similar technique to the one used to measure authority of web pages based on web links. The vote assigned to a value is computed as the sum of the trustworthiness of the sources that provide that particular value, while the trustworthiness of a source is computed as the sum of the votes assigned to the values that the source provides.

Information-retrieval based
These methods estimate source trustworthiness using similarity measures typically used in information retrieval. Source trustworthiness is computed as the cosine similarity (or other similarity measures) between the set of values provided by the source and the set of values considered true (either selected in a probabilistic way or obtained from a ground truth).

Bayesian based
These methods use Bayesian inference to define the probability of a value being true conditioned on the values provided by all the sources.

$$P(v \mid \psi(o)) = \frac{P(\psi(o) \mid v) \cdot P(v)}{P(\psi(o))}$$

where $$\textstyle v$$ is a value provided for a data item $$\textstyle o$$ and $$\textstyle \psi(o)$$ is the set of the observed values provided by all the sources for that specific data item.

The trustworthiness of a source is then computed based on the accuracy of the values that provides. Other more complex methods exploit Bayesian inference to detect copying behaviors and use these insights to better assess source trustworthiness.

Multi-truth methods
Due to its complexity, less attention has been devoted to the study of the multi-truth discovery

Below are reported two typologies of multi-truth methods and their characteristics.

Bayesian based
These methods use Bayesian inference to define the probability of a group of values being true conditioned on the values provided by all the data sources. In this case, since there could be multiple true values for each data item, and sources can provide multiple values for a single data item, it is not possible to consider values individually. An alternative is to consider mappings and relations between set of provided values and sources providing them. The trustworthiness of a source is then computed based on the accuracy of the values that provides.

More sophisticated methods also consider domain coverage and copying behaviors to better estimate source trustworthiness.

Probabilistic Graphical Models based
These methods use probabilistic graphical models to automatically define the set of true values of given data item and also to assess source quality without need of any supervision.

Applications
Many real-world applications can benefit from the use of truth discovery algorithms. Typical domains of application include: healthcare, crowd/social sensing, crowdsourcing aggregation, information extraction and knowledge base construction.

Truth discovery algorithms could be also used to revolutionize the way in which web pages are ranked in search engines, going from current methods based on link analysis like PageRank, to procedures that rank web pages based on the accuracy of the information they provide.