Resolving Conflicts in Heterogeneous Data by Truth Discovery and Source Reliability Estimation∗ Qi Li1 , Yaliang Li1 , Jing Gao1 , Bo Zhao2 , Wei Fan3 , and Jiawei Han4 2 1 1 SUNY Buffalo, Buffalo, NY USA Microsoft Research, Mountain View, CA USA 3 Huawei Noah’s Ark Lab, Hong Kong 4 Univesrity of Illinois, Urbana, IL USA {qli22,yaliangl,jing}@buffalo.edu, 2 bozha@microsoft.com, 3 david.fanwei@huawei.com, 4 hanj@illinois.edu ABSTRACT In many applications, one can obtain descriptions about the same objects or events from a variety of sources. As a result, this will inevitably lead to data or information conflicts. One important problem is to identify the true information (i.e., the truths) among conflicting sources of data. It is intuitive to trust reliable sources more when deriving the truths, but it is usually unknown which one is more reliable a priori. Moreover, each source possesses a variety of properties with different data types. An accurate estimation of source reliability has to be made by modeling multiple properties in a unified model. Existing conflict resolution work either does not conduct source reliability estimation, or models multiple properties separately. In this paper, we propose to resolve conflicts among multiple sources of heterogeneous data types. We model the problem using an optimization framework where truths and source reliability are defined as two sets of unknown variables. The objective is to minimize the overall weighted deviation between the truths and the multi-source observations where each source is weighted by its reliability. Different loss functions can be incorporated into this framework to recognize the characteristics of various data types, and efficient computation approaches are developed. Experiments on real-world weather, stock and flight data as well as simulated multi-source data demonstrate the necessity of jointly modeling different data types in the proposed framework1 . 1. INTRODUCTION Recently, the Big Data challenge is motivated by a dramatic increase in our ability to extract and collect data from the physical world. One important property of Big Data is its wide variety, i.e., data about the same object can be obtained from various sources. For example, customer information can be found from multiple databases in a company, a patient’s medical records may be scat∗The first two authors contributed equally to this work and should be considered as joint first authors. 1 Codes and data sets can be downloaded from http://www. cse.buffalo.edu/~jing/crh.htm Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from permissions@acm.org. SIGMOD’14, June 22–27, 2014, Snowbird, UT, USA. Copyright 2014 ACM 978-1-4503-2376-5/14/06 ...$15.00. http://dx.doi.org/10.1145/2588555.2610509 . tered in different hospitals, and a natural event may be observed and recorded by multiple laboratories. Due to recording or transmission errors, device malfunction, or malicious intent to manipulate the data, data sources usually contain noisy, outdated, missing or erroneous records, and thus multiple sources may provide conflicting information. In almost every industry, decisions based on untrustworthy information can cause serious damage. For example, erroneous account information in a company database may cause financial losses; wrong diagnosis based on incorrect measurements of a patient may lead to serious consequences; and scientific discoveries may be guided to the wrong direction if they are derived from incorrect data. Therefore, it is critical to identify the most trustworthy answers from multiple sources of conflicting information. This is a non-trivial problem due to the following two major challenges. Source Reliability Resolving conflicts from multiple sources have been studied in the database community for years [4, 5, 10, 13] resulting in multiple ways to handle conflicts in data integration. Among them, one commonly used approach to eliminate conflicts for categorical data is to conduct majority voting so that information with the highest number of occurrences is regarded as the correct answer; and for continuous values, we can simply take the mean or median as the answer. The issue of such Voting/Averaging approaches is that they assume all the sources are equally reliable, and thus the votes from different sources are uniformly weighted. In the complicated world that we have today, it is crucial to estimate source reliability to find out the correct information from conflicting data, especially when there exist sources providing low quality information, such as faulty sensors that keep emanating wrong data, and spam users who propagate false information on the Internet. However, there is no oracle telling us which source is more reliable and which piece of information is correct. Heterogeneous Data Motivated by the importance but lack of knowledge in source reliability, many truth discovery approaches have been proposed to estimate it and infer true facts without any supervision [3, 8, 9, 11, 12, 14–16, 18, 19, 21–24]. However, these approaches are mainly designed for single-type data and they do not take advantage of a joint inference on data with heterogeneous types. In real data integration tasks, heterogeneous data is ubiquitous. An object usually possesses multiple types of data. For example, in the integration of multiple health record databases, a patient’s record includes age, height, weight, address, measurements, etc; we may want to infer correct information for a city’s population, area, mayor, and founding year among conflicting information presented on the Internet; and when we combine the predictions from multiple weather forecast tools, we need to resolve conflicts in weather conditions, temperature, humidity, wind speed, wind direction, etc. In all these cases, the data to be integrated involve categorical, continuous or even more complicated data types. Due to the wide existence of missing values, we usually do not have sufficient amount of data to estimate source reliability correctly purely from one type of data. When source reliability is consistent on the entire data set, which is often valid in reality, a model that infers from various data types together will generate accurate estimates of source reliability, which will in turn help infer accurate information. Therefore, instead of separately inferring trustworthy information for individual data types, we should develop a unified model that conducts a joint estimation on all types of data simultaneously. However, it is non-trivial to unify different types of data in one model. During source reliability estimation, we need to estimate how close a source input is to the correct answer, but different data types should be treated differently in this process because the concept of closeness varies among different data types. For categorical data, each observation will be either correct or wrong (i.e., whether the observation is the same as or different from the true fact). It is very different when a property has continuous values. For example, if the true temperature is 80F, then an observation of 79F is closer to the true value than 70F. If such differences are not taken into account and we regard each continuous input as a fact, we will inevitably make wrong estimates of source reliability and derive incorrect results. Therefore, we need a framework that can seamlessly integrate data of heterogeneous data types by estimating information trustworthiness. Summary of Proposed CRH Framework These observations motivate us to develop a Conflict Resolution on Heterogeneous Data (CRH) framework to infer the truths (also referred to as the true information or correct answers) from multiple conflicting sources each of which involves a variety of data types. We formulate the problem as an optimization problem to minimize the overall weighted deviation between the identified truths and the input. The weights in the objective function correspond to source reliability degrees. We propose to leverage heterogeneous data types by allowing any loss function for any type of data, and find out both truths and source reliability by solving the joint optimization problem. In the experiments (Section 3), we show that the proposed CRH framework outperforms existing conflict resolution approaches applied separately or jointly on heterogeneous data because each baseline approach either does not conduct source reliability estimation, or takes incomplete single-type data, or ignores the unique characteristics of each data type. In summary, we make the following contributions: • We design a general optimization framework to model the conflict resolution problem on heterogeneous data by incorporating source reliability estimation. The proposed objective function characterizes the overall difference between unknown truths and input data while modeling source reliability as unknown source weights in the framework. • Under this framework, weight assignment schemes are introduced to capture source reliability distributions. Various loss functions can be plugged into the framework to characterize different types of data. In particular, we discuss several common choices and illustrate their effectiveness in modeling conflict resolution on heterogeneous data. • We propose an algorithm to solve the optimization problem by iteratively updating truths and source weights. We derive effective solutions for commonly used loss functions and weight assignment schemes, and show the convergence of the algorithm. The running time is linear in the number of observations. Also, the proposed approach can be adapted to MapReduce model, so it can scale to very large data sets. • We validate the proposed algorithm on both real-world and simulated data sets, and the results demonstrate the advantages of the proposed approach in resolving conflicts from multi-source heterogeneous data. The CRH framework can improve the performance of existing approaches due to its ability of tightly coupling various data types in the conflict resolution and source reliability estimation process. Running time on both single and Hadoop cluster machines demonstrates its efficiency. 2. METHODOLOGY In this section, we describe our design of the CRH model, which computes truths and source weights from multi-source heterogeneous data. We formulate the conflict resolution problem as an optimization problem which models the truths as the weighted combination of the observations from multiple sources and incorporates a variety of loss functions for heterogeneous data types. An iterative weight and truth computation procedure is introduced to solve this optimization problem. Under this general framework, we present several loss functions and constraints, discuss other possible choices and analyze the time complexity. 2.1 Problem Formulation We start by introducing important terms and defining the conflict resolution problem. We use an example on demographic database (Table 1) to illustrate these concepts. D EFINITION 1. An object is a person or thing of interest; a property is a feature used to describe the object; and a source describes the place where information about objects’ properties can be collected. E XAMPLE 1. “Bob” is an object; height is a property; and a database that provides the information is a source. D EFINITION 2. An observation is the data describing a property of an object from a source. E XAMPLE 2. The observation on Bob’s height from Source 1 is 1.74m. D EFINITION 3. An entry is a property of an object, and the truth of an entry is defined as its accurate information, which is unique. E XAMPLE 3. Bob’s height is an entry. The real height of Bob is the truth of the entry. The mathematical notation is as follows. Suppose there are N objects, each of which has M properties whose data types can be different, and these objects are observed by K sources. Input D EFINITION 4. The observation of the m-th property for the i(k) th object made by the k-th source is vim . D EFINITION 5 (S OURCE O BSERVATION TABLES ). The k-th source X (k) is the collection of observations made on all the objects by the k-th source. It is denoted as a matrix whose im-th (k) entry is vim . {X (1) , X (2) , . . . , X (K) } are the K source observation tables. Table 1: Observation Tables X (1) X (2) X (3) Object City Height City Height City Height Bob Mary Kate Mike Joe NYC LA NYC NYC DC 1.72 1.62 1.74 1.72 1.72 NYC LA NYC LA NYC 1.70 1.61 1.72 1.70 1.71 NYC LA LA DC NYC 1.90 1.85 1.65 1.85 1.85 Table 2: Ground Truth and Conflict Resolution Results Ground Truth Voting/Averaging CRH Object City Height City Height City Height Bob Mary Kate Mike Joe NYC LA NYC NYC DC 1.72 1.62 1.75 1.71 1.73 NYC LA NYC DC NYC 1.77 1.69 1.70 1.76 1.76 NYC LA NYC NYC DC 1.72 1.62 1.74 1.72 1.72 E XAMPLE 4. Suppose we have three databases (sources) that provide the information on a group of people. Table 1 shows the observation tables of X (1) , X (2) , and X (3) , which store all observations made by Sources 1, 2 and 3 respectively. Source 1 states that the citizenship for Bob (row 1 and column 1 in X (1) ) is “NYC”, (1) so v11 is “NYC”. Remark. To simplify the notations, we assume that the observations of all the sources about all the objects are available in the formulation. However, the proposed framework is general enough to cover the cases with missing observations. More discussion can be found in Section 2.5. Output of CRH Framework D EFINITION 6 (T RUTH TABLE ). (∗) vim denotes the truth of the m-th property for the i-th object. The truths of all the objects on all the properties are stored in a truth (∗) table X (∗) whose im-th entry is vim . E XAMPLE 5. Table 2 shows the ground truth, the results obtained by Voting/Averaging, and the results obtained by the proposed framework CRH from the input tables. CRH resolves conflicts from different sources for each entry. It provides more accurate results comparing with Voting/Averaging. Remark. Comparing with the ground truths, it is clear that Source 1 provides accurate information more often (more reliable) while Source 2 and 3 are not very reliable. Due to the various reliability degrees, voting cannot work well. For example, voting fails on Joe’s citizenship because the majority answer is stated by the unreliable sources and majority voting gives a wrong answer – “NYC”. Although only Source 1 states that Joe’s citizenship is “DC”, as it is a reliable source, we should take this observation as the truth. However, ground truths and source reliability are usually unknown a priori. Existing truth discovery approaches [3, 8, 9, 11, 12, 14–16, 18, 21–24] and the proposed method try to estimate source reliability in an unsupervised manner. The difference from existing approaches is that the proposed approach estimates source reliability jointly with heterogeneous data, which is discussed as follows. D EFINITION 7 (S OURCE W EIGHTS ). Source weights are denoted as W = {w1 , w2 , . . . , wK } in which wk is the reliability degree of the k-th source. A higher wk indicates that the k-th source is more reliable and observations from this source is more likely to be accurate. Remark. As for the approaches that incorporate source reliability estimation, if this estimation is only conducted on individual properties separately, the estimated reliability result is not accurate enough due to insufficient observations. In the example shown in Table 1, if we only consider citizenship, the reliability degrees of Sources 1 and 3 cannot be easily distinguished. In contrast, if we consider all the properties in the source reliability estimation, we can find that Source 1 is better than Source 3 in terms of the ability of providing accurate information. To characterize this phenomenon, the proposed framework unifies heterogeneous properties in the source reliability estimation. It will output both source weights and a truth table which are computed simultaneously by estimating source reliability from all the properties. 2.2 CRH Framework The basic idea behind the proposed framework is that reliable sources provide trustworthy observations, so the truths should be close to the observations from reliable sources, and thus we should minimize the weighted deviation from the truths to the multi-source input where the weight reflects the reliability degree of sources. Based on this principle, we propose the following optimization framework that can unify heterogeneous properties in this process: min X (∗) ,W f (X (∗) , W) = K X k=1 s.t. δ(W) = 1, wk N X M X (∗) (k) dm (vim , vim ) i=1 m=1 W ∈ S. (1) We are trying to search for the values for two sets of unknown variables X (∗) and W, which correspond to the collection of truths and source weights respectively, by minimizing the objective function f (X (∗) , W). There are two types of functions that need to be plugged into this framework: • Loss function. dm refers to a loss function defined based on the data type of the m-th property. This function measures (k) (∗) the distance between the truth vim and the observation vim . This loss function should output a high value when the observation deviates from the truth and a low value when the observation is close to the truth. • Regularization function. δ(W) reflects the distributions of source weights. It is also required mathematically. If each source weight wk is unconstrained, then the optimization problem is unbounded because we can simply take wk to be −∞. To constrain the source weights W into a certain range, we need to specify the regularization function δ(W) and the domain S. Note that we set the value of δ(W) to be 1 for the sake of simplicity. Different constants for δ(W) do not affect the results, as we can divide δ(W) by the constant. These two types of functions should be chosen based on our knowledge on the characteristics of heterogeneous data and the source reliability distributions, and more details about these functions will be discussed later. Intuitively, if a source is more reliable (i.e., wk is high), high penalty will be received if this source’s observation is (∗) (k) quite different from the truth (i.e., difference between vim and vim is big). In contrast, the observation made by an unreliable source with a low wk is allowed to be different from the truth. In order to minimize the objective function, the truths X (∗) will rely more on the sources with high weights. The truths X (∗) and source weights W should be learned together by optimizing the objective function through a joint procedure. In an optimization problem that involves two sets of variables, it is natural to iteratively update the values of one set to minimize the objective function while maintaining the values of another set Algorithm 1 CRH Framework (1) (K) Input: Data from K sources: {X , . . . , X }. (∗) Output: Truths X (∗) = {vim }N,M i=1,m=1 , source weights W = {w1 , . . . , wK }. Initialize the truths X (∗) ; repeat Update source weights W according to Eq(2) to reflect sources’ reliability based on the estimated truths; 4: for i ← 1 to N do 5: for m ← 1 to M do (∗) 6: Update the truth of the i-th object on the m-th property vim according to Eq(3) based on the current estimation of source weights; 7: end for 8: end for 9: until Convergence criterion is satisfied; 10: return X (∗) and W. 1: 2: 3: until convergence. This iterative two-step procedure, referred to as block coordinate descent approach [2], will keep reducing the value of the objective function. To minimize the objective function in Eq(1), we iteratively conduct the following two steps. Step I: Source Weights Update. With an initial estimate of the truths X (∗) , we first weight each source based on the difference between the truths and the observations made by the source: W ← arg min f (X (∗) , W) s.t. δ(W) = 1, W ∈ S. (2) we introduce another variable tk so that tk = exp(−wk ). Now we express the optimization problem in terms of tk : min {tk }K k=1 f (tk ) = K X − log(tk ) K X (∗) (k) dm (vim , vim ) i=1 m=1 k=1 s.t. N X M X tk = 1. (6) k=1 The constraint in Eq(6) is linear in tk , which is affine. The objective function is a linear combination of negative logarithm functions and thus it is convex. Therefore, the optimization problem Eq(1) with Eq(4) is convex, and any local optimum is also global optimum [6]. We use the method of Lagrange multipliers to solve this optimization problem. The Lagrangian of Eq(6) is given as: L({tk }K k=1 , λ) = K X − log(tk ) N X M X (∗) (k) dm (vim , vim ) i=1 m=1 k=1 +λ( K X tk − 1), (7) k=1 where λ is a Lagrange multiplier. Let the partial derivative of Lagrangian with respect to tk be 0, and we can get: W At this step, we fix the values for the truths and compute the source weights that jointly minimize the objective function subject to the regularization constraints. Step II: Truths Update. At this step, the weight of each source wk is fixed, and we update the truth for each entry to minimize the difference between the truth and the sources’ observations where sources are weighted by their reliability degrees: (∗) vim ← arg min v K X (k) wk · dm (v, vim ). (3) k=1 By deriving the truth using this equation for every entry, we can obtain the collection of truths X (∗) which minimizes f (X (∗) , W) with fixed W. The pseudo code of this framework is summarized in Algorithm 1. We start with an initial estimate of truths and then iteratively conduct the source weight update and truth update steps until convergence. In the following, we explain the two steps in detail using example functions, and discuss the convergence and other practical issues of the proposed approach. 2.3 Source Weight Assignment We propose the following regularization function: δ(W) = K X exp(−wk ). (4) k=1 This function regularizes the value of wk by constraining the sum of exp(−wk ). T HEOREM 1. Suppose that the truths are fixed, the optimization problem Eq(1) with constraint Eq(4) is convex. Furthermore, the global optimal solution is given by ! PN PM (∗) (k) i=1 m=1 dm (vim , vim ) . (5) wk = − log PK PN PM (∗) (k0 ) m=1 dm (vim , vim ) k0 =1 i=1 P ROOF. Since the truths are fixed, the optimization problem Eq(1) has only one set of variables W. To prove the convexity of Eq(1), N X M X (∗) (k) dm (vim , vim ) = λtk . (8) i=1 m=1 From the constraint that λ= PK k=1 tk K X N X M X = 1, we can derive that (∗) (k0 ) dm (vim , vim ). (9) k0 =1 i=1 m=1 Plugging Eq(9) and wk = − log(tk ) into Eq(8), we obtain Eq(5). This weight computation equation indicates that a source’s weight is inversely proportional to the difference between its observations and the truths at the log scale. The negative log function maps a number in the range of 0 and 1 to a range of 0 and ∞, so it helps to enlarge the difference in the source weights. A source whose observations are more often close to the truths will have a higher weight. Therefore, Eq(4) is a reasonable constraint function which leads to the meaningful and intuitive weight update formula. In order to distinguish the source weights even better so that reliable sources can play a more important role in deriving the truths, we use the maximum rather than the sum of the deviations as the normalization factor when computing the weights. It still ensures that a source’s weight is inversely proportional to the difference between its observations and the truths at the log scale. E XAMPLE 6. Considering the databases given in Table 1, if Voting/Averaging results are adopted as the initial truths, we can get weights 0.67, 0.41, and 0.01 for Sources 1, 2, and 3 respectively using the proposed weight computation equation (Eq(5)). As the proposed method is iterative, we show the converged source weights here (more details are given in Table 3 after we discuss all the steps in the iterative framework). Source 1 is the most reliable one and Source 3 is the least reliable one, as Source 1 makes the fewest errors while Source 3 makes the most errors. The aforementioned weight assignment scheme considers a combination of sources. By setting different regularization functions, we can conduct source selection under the framework. For example, the following function defined based on Lp -norm can be used to select sources: This computation follows the principle that an observation stated by reliable sources will be regarded as the truth. q p δ(W) = p w1p + w2p + . . . + wK = 1, wk ∈ R+ (k = 1, . . . , K), (10) where p is a positive integer. When p equals to 1 or 2, it corresponds to the most widely used L1 -norm or L2 -norm. If Lp -norm regularization is employed, the optimal value of the problem in Eq(1) will be 0, which is achieved when we select one of the sources and set its weight to be 1, set all the other source weights to be 0, and simply regard the chosen source’s observations as the truths. Different from the regularization function shown in Eq(4), this regularization function does not combine multiple sources but rather assumes that there only exists one reliable source. We can also incorporate integer constraints to conduct source selection with more than one source, i.e., choose j sources out of all K sources: δ(W) = 1 (w1 + w2 + . . . + wK ) = 1, j wk ∈ {0, 1} (k = 1, . . . , K). Truth Computation The truth computation step (Eq(3)) depends on the data type and loss function. We respect the characteristics of each data type and utilize different loss functions to describe different notions of deviation from the truths for different data types. Accordingly, truth computation will differ among various data types. Below we discuss truth computation in detail based on several loss functions for categorical and continuous data, the two most common data types. On categorical data, the most commonly used loss function is 0-1 loss in which an error is incurred if the observation is different from the truth. Formally, if the m-th property is categorical, the deviation (k) (∗) from the truth vim to the observation vim is defined as: (k) (∗) (∗) (k) 1 if vim 6= vim , dm (vim , vim ) = (12) 0 otherwise. T HEOREM 2. Suppose that the weights are fixed, based on 0-1 loss function, to minimize the objective function at this step (Eq(3)), the truth on the m-th property of the i-th object should be the value that receives the highest weighted votes among all possible values: (∗) vim ← arg max v K X (k) wk · 1(v, vim ), (13) k=1 where 1(x, y) = 1 if x = y, and 0 otherwise. P ROOF. We plug Eq(12) into the objective function in Eq(1): (∗) vim ← arg min v which is equivalent to Eq(13). K X k=1 (k) wk · dm (v, vim ), (∗) For the scenarios where multiple values of vim are probable, we introduce a strategy to incorporate probability into truth computation. This strategy is probabilistic-based and we assume that observations from reliable sources should have higher probability to be true. We represent categorical data by binary index vectors, which characterize the probability distributions of observations over all possible values. Formally, if the m-th property has Lm possible (k) (k) (k) values and vim is the l-th value, then the index vector Iim for vim is defined as: l (k) Iim = (0, . . . , 1, 0, . . . , 0)T . (11) If wk = 1, the k-th source is selected in truth computation, otherwise its observations will be ignored when updating the truths in the next step. Due to the integer constraints defined in Eq(11), Eq(1) becomes an NP-hard problem. Approximation algorithms can be developed to solve this problem, the details of which are omitted. In many problems, we will benefit from integrating the observations from multiple sources, but there is a variation in the overall reliability degrees. Therefore, in this paper, we focus on the weight assignment scheme with max normalization factor where sources are integrated and variation is emphasized. 2.4 E XAMPLE 7. If we use the weights 0.67, 0.41, and 0.01 for Sources 1, 2, and 3 from Example 6, the proposed approach will output the citizenship for Joe as “DC” (different from “NYC” output by voting), because Source 1’s weight is higher than the sum of Source 2 and 3’s weights. With an accurate source weight estimation, we correct the mistake given by Voting/Averaging. (14) (15) We can use squared loss function to describe the distance be(∗) (k) tween the observation index vector Iim and the truth vector Iim : (∗) (k) dm (vim , vim ) (∗) (k) = dm (Iim , Iim ) = (∗) (k) (∗) (k) (Iim − Iim )T (Iim − Iim ). (16) T HEOREM 3. Suppose that the weights are fixed, the optimiza(∗) tion problem Eq(1) with Eq(16) is convex. The optimal Iim should be the weighted mean of the probability vectors of all the sources: PK (k) (∗) k=1 wk · Iim Iim ← . (17) PK k=1 wk P ROOF. Since the weights are fixed, the optimization problem Eq(1) has only one set of variables X and the optimization problem (k) (∗) is unconstrained. As dm (Iim , Iim ) is convex, Eq(1) is a linear combination of convex functions, and thus it is convex. We plug Eq(16) into the objective function in Eq(1) and then let (∗) the partial derivative with respect to Iim be 0: K X k=1 wk N X M X (∗) (k) 2(Iim − Iim )T = 0, (18) i=1 m=1 which leads to Eq(17). (∗) Here, Iim denotes the probability distribution of the truths, in which (∗) (∗) vim is the corresponding value with the largest probability in Iim , i.e., the most possible value. E XAMPLE 8. We use the same scenario as in Example 7. Source weights are 0.67, 0.41, and 0.01; the observations are “DC”, “NYC”, and “NYC” from the corresponding sources. If “DC” is coded as (1,0) and “NYC” as (0,1), we can calculate the truth vector for that (∗) = (0.61, 0.39). entry as Iim = (1,0)×0.67+(0,1)×0.41+(0,1)×0.01 0.67+0.41+0.01 Therefore, the truth is “DC” with a probability of 0.61. Comparing with the 0-1 loss strategy, this strategy gives a soft decision instead of a hard decision. However, this method has relatively high space complexity due to the representation of categories for input data. As for the continuous data, the loss function should characterize the distance from the input to the truth with respect to the variance of entries across sources. One common loss function is the normalized squared loss, which is defined as: (∗) (∗) (k) (vim − vim )2 (k) dm (vim , vim ) = (1) . (K) std(vim , . . . , vim ) (19) T HEOREM 4. Suppose that the weights are fixed, the optimization problem Eq(1) with Eq(19) is convex. The truth that minimizes the overall weighted distance should be the weighted average of the observations: PK (k) (∗) k=1 wk · vim . (20) vim ← PK k=1 wk P ROOF. The proof of convexity is similar to the proof in Theorem 3. We plug Eq(19) into the objective function Eq(1) and then (∗) let the partial derivative with respect to vim be 0: K X wk k=1 N X M X (∗) (k) (1) (K) 2(vim − vim )/std(vim , . . . , vim ) = 0. (21) i=1 m=1 Therefore, we can get the optimal truth shown in Eq(20). E XAMPLE 9. Consider Bob’s height from Table 1. The observations from Sources 1, 2, and 3 are 1.72, 1.70, and 1.90 respectively. Suppose the weights are 0.67, 0.41, and 0.01 for Sources 1, 2, and 3 respectively. Then Bob’s height can be calculated as: 1.72×0.67+1.70×0.41+1.90×0.01 = 1.71. It is obvious that the result 0.67+0.41+0.01 is closer towards the observation from Source 1 because it is more reliable. This truth computation strategy simulates the idea that observations from a reliable source should contribute more to the computation of the truth. However, this method is sensitive to the existence of outliers, as an outlier will receive a huge loss because of the square term, and thus can only work well in the data set in which outliers are removed. To mitigate the effect of outliers, we can use the normalized absolute deviation as the loss function on continuous data: (∗) (∗) (k) dm (vim , vim ) = (k) |vim − vim | (1) (K) . std(vim , . . . , vim ) (22) T HEOREM 5. Based on Eq(22), the truth that minimizes the overall weighted absolute deviation should be the weighted median. Proof is omitted as the derivation is similar to the previous cases. Specifically, we use the following definition of weighted median2 . Given a set of numbers {v 1 , ..., v K } with weights {w1 , ...wK }, the weighted median of this set is the number v j , such that X k:v k <v j wk < K 1X wk 2 k=1 & X k:v k >v j wk 6 K 1X wk . 2 (23) k=1 The sum of weights on the numbers that are smaller than the weighted median, and the sum of weights on the numbers that are greater than the weighted median should both be roughly half of the total weights on the whole set. To find the weighted median, we compare the cumulative sum computed on numbers smaller than v j or greater than v j . Note that conventional median can be regarded as a special case where we give the same weight to all the numbers so that median becomes the number separating the higher half from the lower half. It is known that median is less sensitive to the existence of outliers, and thus the weighted median approach for truth computation is more desirable in noisy environments. 2 http://www.mathworks.com/matlabcentral/fileexchange /23077-weighted-median/content/weightedMedian.m E XAMPLE 10. Using the same example as in Example 9, we first sort all observations in ascending order: (1.70, 1.72, 1.90), and the corresponding source weight is (0.41, 0.67, 0.01). Then Bob’s height by weighted median using Eq(23) is 1.72. Besides the aforementioned loss functions, the proposed general framework can take any loss function that is selected based on data types and distributions. Some other examples include Mahalanobis distance for continuous data, edit distance or KL divergence for text data, etc. To deal with complex data types, we can either use loss functions defined on raw data or on abstraction of raw data, such as motifs in time series, frequent sub-graphs in graphs, and segments in images. The framework can even be adapted to take the ensemble of multiple loss functions for a more robust loss computation. We can also convert a similarity function into a loss function, which allows the usage of numerous techniques in similarity computation developed in the data integration community. 2.5 Discussions & Practical Issues Here we first discuss several important issues to make the framework practical including initialization, convergence, normalization, and missing values. Then we show the algorithm flow using a running example. Finally, we analyze the time complexity of the proposed CRH framework. Initialization. The initialization of the truths can be obtained using existing conflict resolution approaches. In our experiments, we find that the result from Voting/Averaging approaches is typically a good start. In fact, initialization will not affect the final results if the optimization problem is convex. Convexity and Convergence. The convexity depends on the loss functions and regularization function. An example of a family of convex loss functions is Bregman divergence [1], which includes a variety of loss functions such as squared loss, logistic loss, ItakuraSaito distance, squared Euclidean distance, Mahalanobis distance, KL-divergence and generalized I-divergence. Using several loss functions discussed in this paper, we prove the convergence of the CRH framework as follows. Note that the proof on the convergence can be derived in the same way if other convex functions are used. T HEOREM 6. When Eq(4) is used as constraint, Eq(16) or/and Eq(19) is/are used as loss functions, the convergence of CRH framework is guaranteed. P ROOF. For the optimization problem of Eq(1), we proved earlier in Theorem 1 that the unique minimum with respect to weights W can be achieved when truths X (∗) are fixed; we proved in Theorem 3 and Theorem 4 that the unique minimum with respect to truths X (∗) can be achieved when weights W are fixed. According to the proposition on the convergence of block coordinate descent [2], we can derive that the proposed iterative procedure will converge to a stationary point of the optimization problem. In Algorithm 1, the convergence criterion is that the decrease in the objective function is small enough compared with the previous iterations. In the experiments we find that the convergence of this approach is easy to judge because the first several iterations incur a huge decrease in the objective function, and once it converges, the results become stable. Experimental results on convergence are shown in Section 3.2.3. Although the analysis on non-convex or non-differentiable functions need to be conducted differently [17,20], we find that some of these approaches work well in practice, such as the absolute deviation for continuous data. Normalization. Another important issue is the normalization of deviations on each property. As illustrated in the weight computation equation (Eq(5)), we need to sum up the deviations to the truths across different properties. If various loss functions applied on different properties have significantly different scales, the weight computation will be biased towards the property that has bigger range in the deviation. To solve this issue, we normalize the output of each loss function on each property so that the deviation computed on all the properties fall into the same range. Missing Values. Note that for the sake of simplicity, we assume that all the sources observe all the objects on all the properties in the proposed optimization framework (Eq(1)), but it can be easily modified to handle missing values when different sources observe different subsets of the objects on different subsets of properties. When the number of observations made by different sources is quite different, we can normalize the overall distance of each source by the number of observations. Running Example. Using the same databases in Table 1, we display both the truth tables and the source weights for the first three iterations using Voting/Averaging as initialization. We use weighted vote for categorical data and weighted median for continuous data to update truths. The algorithm updates source weights and truths repeatedly until the convergence criterion is satisfied. The results are shown in Table 3 and 4. Comparing with the ground truths in Table 2, the truth table gets more and more accurate with more iterations. The algorithm converges after three iterations. Table 3: Source Weights for the First Three Iterations Iteration 1 Iteration 2 Iteration 3 Source 1 Source 2 Source 3 0.2729 0.2521 0.1349 0.5552 0.4539 0.0149 0.6734 0.4077 0.0141 Table 4: Truth Tables for the First Three Iterations Iteration 1 Iteration 2 Iteration 3 Object City Height City Height City Height Bob NYC Mary LA Kate NYC Mike NYC Joe NYC 1.72 1.62 1.72 1.72 1.72 NYC LA NYC NYC DC 1.72 1.62 1.74 1.72 1.72 NYC LA NYC NYC DC 1.72 1.62 1.74 1.72 1.72 Time Complexity. When we utilize the aforementioned functions Eq(5), Eq(13) and Eq(23), the running time is linear with respect to the total number of observations, i.e., O(KN M ), where K is the number of sources, N is the number of objects, and M is the number of properties. In addition, the algorithm can be adapted to run on the MapReduce platform to further speed up the process on large-scale data sets. It is obvious that the truth computation step (Eq(3)) can be executed independently for each object and thus this step is easy to parallelize. If we use Eq(5) to compute source weights, this step can be expressed using summation form [7], and thus it can be parallelized by aggregating partial sums. The time complexity is experimentally validated in the following section, in which we show the running time of the proposed approach on both single machine and Hadoop cluster. 2.6 Summary Our major contribution is that we unify data of various types in truth discovery to resolve conflicts on heterogeneous data. The proposed optimization framework (Eq(1)), which targets at minimizing overall weighted difference between truths and input data, provides a nice way to combine data of various types when deriving source weights and truths. Under this general framework, we discussed several common data types and loss functions, derived effective solutions, and analyzed its convergence. Different from existing truth discovery approaches that focus on facts [9, 12, 18, 22] or continuous data [23], the proposed CRH model learns source reliability degrees jointly from various properties with different data types. Unique characteristics of each data type is considered, and all types contribute to source reliability estimation together. This joint inference improves source reliability estimation and leads to better truth discovery on heterogeneous data. 3. EXPERIMENTS In this section, we report the experimental results on both realworld and simulated data sets, which show that the proposed CRH method is efficient and outperforms state-of-the-art conflict resolution methods when integrating multiple sources of heterogeneous data. We first discuss the experiment setup in Section 3.1, and then present experimental results in Section 3.2. 3.1 Experiment Setup In this part, we present the performance measures and discuss the baseline methods. 3.1.1 Performance Measures The problem setting is that we have multi-source input and the ground truths. All the conflict resolution methods are conducted in an unsupervised manner in the sense that the ground truths will only be used in evaluation. In this experiment, we focus on two types of data: categorical and continuous. To evaluate the performance of various conflict resolution methods, we adopt the following measures for these two data types: • Error Rate: For categorical data, we use Error Rate as the performance measure of an approach, which is computed as the percentage of the approach’s output that are different from the ground truths. • MNAD: For continuous data, we can measure the overall absolute distance from each method’s output to the ground truths, which indicates how close the output are to the ground truths. As different entries may have different scales, we normalize the distance on each entry by its own variance, and then calculate their mean. This leads to the measure Mean Normalized Absolute Distance (MNAD). For both measures, the lower the value, the closer the method’s estimation is to the ground truths and thus the better the performance. 3.1.2 Baseline Methods For the proposed CRH method, we use weighted voting (Eq(13)) for categorical data due to its time and space efficiency. On continuous data, we use weighted median (Eq(23)), which is efficient and robust in noisy environment with outliers. Weight assignment is computed by the inverse logarithm of the ratio between the deviation to the truth and the maximum distance so that the difference in source reliability is emphasized. We compare the proposed approach with the following baseline methods that cover a wide variety of ways to resolve conflicts. These approaches can be partitioned into three categories. Conflict Resolution Methods Applied on Continuous Data Only. The following approaches can only be applied on continuous data, and thus they will ignore the input from categorical properties. • Mean: Mean simply takes the mean of all observations on each property of each object as the final output. • Median: Median calculates the median of all observations on each property of each object as the final output. • GTM [23]: Gaussian Truth Model (GTM) is a Bayesian probabilistic approach especially designed for solving conflict resolution problem on continuous data. Note that this approach only uses partial data (continuous) while other truth discovery methods use all the data (categorical and continuous), and thus insufficient data may lead to performance degrade in GTM compared with others. However, we still include GTM in the comparison as it is an important truth discovery method applied on continuous data. Among them, Mean and Median are traditional conflict resolution approaches, and GTM is a truth discovery approach which considers source reliability estimation. Conflict Resolution Methods Applied on Categorical Data Only. We apply majority voting approach on categorical properties only. This is the traditional way of resolving conflicts in categorical data without source reliability estimation. • Voting: The value which has the highest number of occurrences is regarded as the fused output. Conflict Resolution Methods by Truth Discovery. Many of the existing conflict resolution approaches that consider source reliability (often referred to as “truth discovery” approaches) are developed to find true “facts” for categorical properties. However, we can enforce them to handle data of heterogeneous types by regarding continuous observations as “facts” too. • Investment [18]: In this approach, a source “invests" its reliability uniformly on the observations it provides, and collects credits back from the confidence of those observations. In turn, the confidence of an observation grows according to a non-linear function defined based on the sum of invested reliability from its providers. • PooledInvestment [18]: PooledInvestment is similar to Investment. The only difference is that the confidence of an observation is linearly scaled instead of non-linearly scaled. • 2-Estimates [12]: This approach is proposed based on the assumption that “there is one and only one true value for each entry". If a source provides an observation for an entry, 2Estimates assumes that this source votes against different observations on this entry. • 3-Estimates [12]: 3-Estimates improves 2-Estimates by considering the difficulty of getting the truth for each entry, the estimation of which will affect the source’s weight. • TruthFinder [22]: TruthFinder adopts Bayesian analysis, in which for each observation, its confidence is calculated as the product of its providers’ reliability degrees. Similarity function is used to adjust the vote of a value by considering the influences between facts. • AccuSim [9]: AccuSim also applies Bayesian analysis and it also adopts the usage of the similarity function. Meanwhile, it considers complement vote which is adopted by 2Estimates and 3-Estimates. Note that in [9], other algorithms have been proposed to tackle source dependency issues in resolving conflicts, which are not compared here because we do not consider source dependency in this paper but leave it for future work. The comparison between the proposed framework with these baseline approaches on heterogeneous data can show that 1) using both types of data jointly gives better source reliability estimation than using individual data types separately, but 2) an accurate weight can only be obtained by taking unique characteristics of each data type into consideration. We implement all the baselines and set the parameters according to their authors’ suggestions. All the experimental results in this section except for MapReduce experiments are conducted on a Windows machine with 8G RAM, Intel Core i7 processor. 3.2 Experimental Results In this section, by comparing the proposed CRH approach with the baseline methods, we show the power of simultaneously modeling various data types in a joint framework on both real-world and simulated data sets. We also show the efficiency of the proposed approach on single machine and Hadoop cluster. 3.2.1 Real-world Data Sets We use three real-world data sets to demonstrate the effectiveness of the proposed method. Weather Forecast Data Set. Weather forecast integration task is a good test bed because the data contains heterogeneous types of properties. Specifically, we integrate weather forecasting data collected from three platforms: Wunderground3 , HAM weather4 , and World Weather Online5 . On each of them, we crawl the forecasts of three different days as three different sources, so altogether there are nine sources. For each source, we collected data of three properties: high temperature, low temperature and weather condition, among which the first two are continuous and the last is categorical. To get ground truths, we crawl the true weather information for each day. We collected the data for twenty US cities over a month. Stock Data Set. The stock data [15], crawled on every work day in July 2011, consists of 1000 stock symbols and 16 properties from 55 sources, and the ground truths are also provided. Here, we treat the data set as heterogeneous. More specifically, property volume, Shares outstanding and Market cap are considered as continuous type, and the rest ones are considered as categorical type. Flight Data Set. The flight data [15], crawled over one-month period starting from December 2011, consists of 1200 flights and 6 properties from 38 sources. We conduct pre-processing on the data to convert the gate information into the same format and the time information into minutes. The ground truths are also available. In this work, we show results on the flight data by treating gate information as categorical type and time information as continuous type. Note that we have a different task setting compared with [15] for Stock and Flight data when we treat them as heterogeneous types. Table 5 shows the statistics of these three data sets. Note that the number of entries does not equal to the number of ground truths because we only have a subset of entries labeled with ground truths. The ground truths are not used by any of the approaches, but only used in the evaluation. Table 5: Statistics of Real-world Data Sets # Observations # Entries # Ground Truths Weather Data Stock Data Flight Data 16038 1920 1740 11748734 326423 29198 2790734 204422 16572 In Table 6, we summarize the performance of all the methods in terms of Error Rate on categorical data and MNAD on continuous data for three real-wold data sets. Although our approach outputs truths on both data types simultaneously, we evaluate the 3 http://www.wunderground.com http://www.hamweather.com 5 http://www.worldweatheronline.com 4 Table 6: Performance Comparison on Real-world Data Sets Weather Data Stock Data Flight Data Method Error Rate MNAD Error Rate MNAD Error Rate MNAD CRH Mean Median GTM Voting Investment PooledInvestment 2-Estimates 3-Estimates TruthFinder AccuSim 0.3759 NA NA NA 0.4844 0.4913 0.4948 0.5327 0.4810 0.4586 0.4672 4.6947 4.7840 4.9878 4.7914 NA 5.2361 5.5788 5.5258 5.1943 5.1293 5.0862 0.0700 NA NA NA 0.0817 0.0983 0.0990 0.0726 0.0818 0.1194 0.0726 2.6445 7.1858 3.9334 3.4253 NA 2.8081 2.7940 2.8509 2.7749 2.7140 2.8503 0.0823 NA NA NA 0.0859 0.0919 0.0925 0.0885 0.0881 0.0950 0.0881 4.8613 8.2894 7.8471 7.6703 NA 6.4153 5.8562 7.4347 7.1983 8.1351 7.3204 performance separately on these two data types due to the different measures for different data types. It can be seen that the proposed CRH approach achieves better performance on both types of data compared with all the baselines. For example, on weather data, the number of mismatches from ground truths drops from 266 (the best baseline) to 218 out of 580 entries by using CRH (on categorical data). On Stock and Flight data sets where baselines have already achieved good performance, we still can see the performance improvement of CRH over the best baseline (1719 ->1657 out of 23677, and 427 ->414 out of 4971). Similarly, the gain on continuous data can be consistently observed on all three data sets. By outperforming various conflict resolution approaches applied separately on categorical data and continuous data, the proposed CRH approach demonstrates its advantage in modeling source reliability more accurately by jointly inferring from both types of data. GTM can not estimate source reliability accurately merely by continuous data which may not have sufficient information. This also justifies our assumption that each source’s reliability on continuous and categorical data is consistent so the estimation over different data types complements each other. The reason that the proposed CRH approach beats the other conflict resolution approaches that are applied on both types of data is that these approaches cannot capture the unique characteristics of each data type. This is further supported by the fact that the performance of those approaches is relatively better on categorical data, but deviates more from the truths on the continuous data. In contrast to existing approaches, the proposed CRH framework can take data type into consideration, which will provide a better estimation of source reliability, and thus result in more accurate truth estimation. As source reliability is the key to obtain correct truths, we further show the source reliability degrees estimated for the 9 sources by various approaches on the weather forecast data set. We choose this data set because it consists of nine sources only, which is more practical to demonstrate. We first compute the true source reliability by comparing the observations made by each source with the ground truths. Reliability of a source is defined as the probability that the source makes correct statements on categorical data, and the chance that the source makes statements close to the truth on continuous data. To simplify the presentation, we combine the reliability scores of continuous and categorical data into one score for each source. To make it clear, we show the source reliability degrees in three plots presented in Figure 1, each of which shows the comparison between the ground truths and some of the approaches. Figure 1(a) shows that the source reliability degree estimated by CRH method is in general consistent with that obtained from the ground truths. By effectively characterizing different data types in a joint model, the proposed approach can successfully distinguish good sources from bad ones, and accordingly derive the truth based on good sources. In Figures 1(b) and 1(c), we show the reliability degrees of 9 sources estimated by GTM, AccuSim, 3Estimates and PooledInvestment compared with the ground truth reliability. We particularly show the results on these approaches because 3-Estimates and PooledInvestment are improved solutions compared with 2-Estimates and Investment respectively claimed in the corresponding papers, and TruthFinder has similar performance with AccuSim on this data set. As different methods adopt various functions to estimate the source reliability scores, to make them comparable, we normalize all the scores into the range [0, 1]. Among these approaches, 3-Estimates and GTM calculate the unreliability degrees, so we convert their scores to reliability degrees to show the comparison. The plots show that the baseline methods can capture the difference among sources in making accurate claims to a certain extent, but the patterns in source reliability detected by them are not very consistent with the ground truths, which can thus explain the increased error in truth detection in Table 6. Note that the improved performance of the proposed approach is achieved when each individual data type’s characteristics are fully taken into account in the joint modeling of heterogeneous data. To demonstrate this point, we show that using heterogeneous data without distinguishing data types cannot help improve the performance. As shown in Table 7, the baseline approaches, which regard all data types the same, have similar performance when they are applied on heterogeneous data and on categorical data only. This indicates that the incorporation of continuous data does not make difference for these approaches. To further investigate this behavior, we plot the source weights obtained by AccuSim, 3-Estimates, and PooledInvestment on categorical data and heterogeneous data respectively in Figure 2. From the plots, we can see that for any of these approaches, these two groups of source reliability scores are close to each other. The reason behind this phenomenon is that unlike categorical data, continuous data are noisier and wider distributed, and sources disagree much more on the values. When these approaches ignore the characteristics of different data types, they cannot find meaningful truths. Thus, the deviations are rather random and uniform across different sources. When summing up the deviations on both categorical and continuous data to compute source weights, the inputs from the continuous side do not significantly affect the source weight distribution because it is quite similar across sources. In other words, the incorporation of continuous data without considering their characteristics can hardly benefit or even harm the weight estimation. Therefore, these approaches get similar source weight distributions with and without continuous data and the results are not improved. This phenomenon further proves that only utilizing heterogeneous data by considering the characteristics of different data types in source reliability estimation can obtain a good result. That is the reason why the proposed approach performs better than baseline approaches. 0.6 0.4 0.2 0 1 2 3 4 5 6 7 Source ID 8 Ground Truth GTM AccuSim 1 0.8 0.6 0.4 0.2 0 9 1 2 3 (a) CRH 4 5 6 Source ID 7 8 Source Reliability Degree Source Reliability Degree Source Reliability Degree Ground Truth CRH 1 0.8 1 0.8 0.6 Ground Truth 3−Estimates PooledInvestment 0.4 0.2 0 9 1 2 3 (b) Baselines 4 5 6 Source ID 7 8 9 (c) Baselines 1 0.9 0.8 0.7 0.6 0.5 1 2 3 4 5 6 7 Source ID 8 3−Estimates−Categorical 3−Estimates−Heterogeneous 1.2 1 0.8 0.6 0.4 0.2 0 9 1 (a) AccuSim 2 3 4 5 6 Source ID 7 8 Source Reliability Degree AccuSim−Categorical AccuSim−Heterogeneous 1.1 Source Reliability Degree Source Reliability Degree Figure 1: Comparison of Source Reliability Degrees with Ground Truths PooledInvestment−Categorical PooledInvestment−Heterogeneous 1 0.8 0.6 0.4 0.2 0 9 1 (b) 3-Estimates 2 3 4 5 6 Source ID 7 8 9 (c) PooledInvestment Figure 2: Comparison of Source Reliability Degrees between Methods Applied on Categorical and Heterogeneous Data Table 7: Comparison for Baselines on Weather Data Heterogeneous Data Categorical Data Method Error Rate MNAD Error Rate MNAD Investment PooledInvestment 2-Estimates 3-Estimates TruthFinder AccuSim 0.4913 0.4948 0.5327 0.4810 0.4586 0.4672 5.2361 5.5788 5.5258 5.1943 5.1293 5.0862 0.4776 0.4914 0.5121 0.4638 0.4603 0.4620 NA NA NA NA NA NA 3.2.2 Noisy Multi-source Simulations To further demonstrate the advantages of the proposed framework in the environment involving various reliability degrees and different loss functions, we conduct experiments on simulated data sets generated from UCI machine learning data sets. We choose two data sets: UCI Adult6 and Bank7 data sets, each of which has both continuous and categorical properties. The original data sets are regarded as the ground truths, and based on each of them, we generate a data set consisting of multiple conflicting sources by injecting different levels of noise into the ground truths as the input to our approach and baseline methods. Gaussian noise is added to each continuous property, and values in categorical properties are randomly flipped to generate facts that deviate from the ground truths. To better simulate the real-world data, we round the continuous type data based on their physical meaning. A parameter α is used to control the reliability degree of each source (a lower α indicates a lower chance that the ground truths are altered to generate observations). In this way, we generate data sets which contain 8 sources with various degrees of reliability (α = {0.1, 0.4, 0.7, 1, 1.3, 1.6, 1.9, 2}). Table 8 shows the statistics of these two data sets. Table 8: Statistics of Simulated Data Sets # Observations # Entries # Ground Truths Adult Data Bank Data 3646832 455854 455854 5787008 723376 723376 Tables 9 summarizes the results of all the approaches on these two data sets. It can be seen that CRH can fully recover all the 6 7 http://archive.ics.uci.edu/ml/datasets/Adult http://archive.ics.uci.edu/ml/datasets/Bank+Marketing truths on categorical data, and find the true value for continuous data with very small distance by inferring accurate source reliability degrees. Similar to the experiments on the weather data set, we can still observe the great improvement in truth detection performance compared with baseline approaches due to the proposed method’s advantage in source reliability estimation. Existing approaches cannot provide accurate estimate of source reliability because they either take incomplete data (only categorical or continuous), or do not model the characteristics of both data types jointly. Table 9: Performance Comparison on Simulated Data Set Adult Data Bank Data Method Error Rate MNAD Error Rate MNAD CRH Mean Median GTM Voting Investment PooledInvestment 2-Estimates 3-Estimates TruthFinder AccuSim 0.0000 NA NA NA 0.1029 0.0530 0.0215 0.0497 0.0497 0.0346 0.0288 0.0637 0.3673 0.2470 0.0810 NA 0.1391 0.1008 0.1355 0.1355 0.1272 0.1145 0.0000 NA NA NA 0.2314 0.1197 0.0241 0.1152 0.1152 0.1097 0.0681 0.0789 0.3671 0.2491 0.0948 NA 0.1588 0.0866 0.1583 0.1583 0.1589 0.1571 On these simulated data sets, we also investigate how the performance of the proposed CRH approach varies with respect to different distributions of source reliability degrees. To illustrate the effect more clearly, we choose two reliability degrees: α = 0.1 and α = 2, which correspond to reliable and unreliable sources respectively. We now fix the total number of sources as 8, and change the number of reliable sources to conduct a series of experiments. Figures 3 and 4 show the performance of the proposed approach and baseline methods on Adult and Bank data sets respectively. In each of them, we show the performance on categorical and continuous data respectively when we vary the number of reliable sources from 0 to 8 (out of 8 sources in total). The following observations can be made from the results: 1) The plots support our previous findings that the CRH framework outperforms existing conflict resolution techniques, which ignore the unique characteristics of each data type. When sources are equally reliable or unreliable (number of reliable sources equals to 0 or 8), the CRH model achieves similar performance as that of vot- 0.5 Error Rate 0.4 0.3 0.2 CRH Mean Median GTM PooledInvestment 3−Estimates TruthFinder AccuSim 2 1.5 MNAD CRH Voting PooledInvestment 3−Estimates TruthFinder AccuSim 0.1 1 0.5 0 −0.1 0 1 2 3 4 5 6 Number of Reliable Sources 7 0 8 0 1 (a) Categorical Data 2 3 4 5 6 Number of Reliable Sources 7 8 (b) Continuous Data Figure 3: Performance w.r.t. # Reliable Sources on Adult Data Set Error Rate 0.5 0.4 0.3 0.2 CRH Mean Median GTM PooledInvestment 3−Estimates TruthFinder AccuSim 1.2 1 MNAD CRH Voting PooledInvestment 3−Estimates TruthFinder AccuSim 0.6 0.8 0.6 0.4 0.1 0.2 0 −0.1 0 1 2 3 4 5 6 Number of Reliable Sources 7 0 8 0 1 (a) Categorical Data 2 3 4 5 6 Number of Reliable Sources 7 8 (b) Continuous Data Figure 4: Performance w.r.t. # Reliable Sources on Bank Data Set Table 10: Comparison for Different Loss Functions Error Rate MNAD Scenario 1 0.0125 0.0125 0.0375 0.0125 0.1533 0.1938 0.1628 0.1938 Scenario 2 Eq(13) + Eq(20) Eq(13) + Eq(23) Eq(17) + Eq(20) Eq(17) + Eq(23) 0.0375 0.0250 0.0375 0.0250 0.3030 0.2052 0.2899 0.2052 ing/averaging approaches. However, when the reliability degree varies across sources, CRH performs much better. 2) In general, it is easier to detect truths when we have a bigger number of reliable sources. However, on categorical data, even when only 1 out of 8 sources is reliable, CRH can still discover most of the truths. Clearly, the proposed approach can successfully infer source reliability and thus detect the truths that are stated by the minority. 3) On continuous data, we can see that the convergence rate is slower than that on categorical data. Conflict resolution on continuous data is in general more difficult due to the higher complexity of the truth space and more complicated definition of closeness to the truths. Next we discuss the effect of loss functions and give some guidelines on how to choose appropriate loss functions under different scenarios (Table 10). Under Scenario 1, we generate five sources with different levels of noise and the levels of noise are relatively low on all sources (α = {0.5, 0.5, 0.5, 1, 1}), which means that sources have low variance on continuous data and tend to agree with each other on categorical data. The combination of Eq(13) and Eq(20) achieves the best performance (using traditional 0-1 and squared loss). Under Scenario 2, we add more noise on two out of the five sources (α = {0.5, 0.5, 1, 3.5, 4.5}). These two sources contain outliers on continuous data, and many mistakes on categorical data. We find that Eq(13) + Eq(23) and Eq(17) + Eq(23) work better than the Objective Value Method Eq(13) + Eq(20) Eq(13) + Eq(23) Eq(17) + Eq(20) Eq(17) + Eq(23) 900 800 700 600 500 400 0 5 10 Iteration 15 20 Figure 5: Convergence Rate others. This is because that normalized absolute deviation gives a smaller penalty on outliers than normalized squared loss does, and thus is more tolerant of outliers. 3.2.3 Efficiency In this section, we study the efficiency of the proposed CRH framework. We first explore its convergence rate in practice, and then show its running time on both single machine and Hadoop cluster. Convergence Rate. As we proved in Theorem 6, the convergence of CRH framework is guaranteed when Eq(4) is used as constraint, Eq(16) or/and Eq(19) is/are used as loss functions. We further demonstrate the convergence rate using weather data set. Figure 5 shows the change of the objective value with respect to each iteration. We can see that the objective value decreases fast at the first five iterations and then reaches a stable stage, showing that the proposed method converges quickly in practice. Running Time. We sample different number of observations and entries from weather data set to show the running time of the CRH framework on single machine. As shown in Table 11, the proposed approach has linear complexity in the number of observations. To further demonstrate this, we compute Pearson’s correlation coefficient, which is a commonly used method to test linear relationship between variables. It ranges from 1 to -1. The closer it is to 1 (or -1), the stronger positive (or negative) linear relationship the vari- ables have. In our experiment, the Pearson’s correlation coefficient for running time and the number of observations is higher than 0.99, which indicates that they are highly linearly correlated. As mentioned in the discussions of the CRH framework, it can be easily adapted to MapReduce programming model. As the number of observations can be easily varied in a large range, we use the simulated data sets to evaluate the running time of CRH on Hadoop cluster. Based on the Adult data set, we generate large-scale data sets by adding different noise levels on the original data set as we discussed. The number of observations vary from 104 to 108 . The proposed CRH framework is implemented using MapReduce model. The experiments are conducted on a 4-node Dell Hadoop cluster with Intel Xeon E5-2403 processor (4x 1.80 GHz, 48 GB RAM). As shown in Table 11, the fusion process using the MapReduce version of the proposed approach can finish in a short time. The running time mainly comes from the setup overhead when the number of observations is not very large, but the speed-up in the execution time is more obvious when the number of observations increases. For example, on a data set with size 108 , the whole process only took 669s. Table 11: Running Time Single Machine Hadoop Cluster # Observations Time (s) # Observations Time (s) 5 × 104 7 × 104 9 × 104 1.2 × 105 1.4 × 105 1.6 × 105 1.5575 2.3265 2.9505 3.4133 4.3827 4.6724 1 × 104 1 × 105 1 × 106 1 × 107 1 × 108 4 × 108 94 96 100 193 669 1384 Pearson Correlation 0.9903 Pearson Correlation 0.9811 4. CONCLUSIONS To extract insightful knowledge from an overwhelming amount of information generated by numerous industries, it is crucial to automatically identify trustworthy information and sources from multiple conflicting data sources. As heterogeneous data is ubiquitous, a joint estimation on various data types can lead to better estimation of truths and source reliability. However, existing conflict resolution work either regards all the sources equally reliable, or models different data types individually. Therefore, we propose to model the conflict resolution problem on data of heterogeneous types using a general optimization framework called CRH that integrates the truth finding process on various data types seamlessly. In this model, truth is defined as the value that incurs the smallest weighted deviation from multi-source input in which weights represent source reliability degrees. We derive a two-step iterative procedure including the computation of truths and source weights as a solution to the optimization problem. The advantage of this framework is its ability of taking various loss and regularization functions to characterize different data types and weight distributions effectively. We derive efficient computation approach that is linear with respect to the number of observations and the approach can be easily implemented in MapReduce model. We conduct experiments on weather, stock and flight data sets collected from multiple platforms as well as simulated multi-source data generated from UCI machine learning data sets. Results demonstrate the efficiency and the advantage of the proposed CRH approach over existing conflict resolution approaches in finding truths from heterogeneous data. In the future, we plan to adapt the framework to more complicated conflict resolution scenarios, such as the cases involving multiple truths and source dependency. 5. ACKNOWLEDGMENTS We would like to thank the anonymous reviewers for their valuable comments and suggestions, which help us tremendously in improving the quality of the paper. We also thank Lu Su for his discussions and suggestions. The work was supported in part by National Key Basic Research Program of China (973 Program) under Grant No. 2014CB340304, the National Science Foundation under Grant NSF IIS-1319973, the U.S. Army Research Laboratory under Cooperative Agreement No. W911NF-09-2-0053 (NS-CTA), and the U.S. Army Research Office under Cooperative Agreement No. W911NF-13-1-0193. 6. REFERENCES [1] A. Banerjee, S. Merugu, I. S. Dhillon, and J. Ghosh. Clustering with bregman divergences. JMLR, 6:1705–1749, 2005. [2] D. P. Bertsekas. Non-linear programming. Athena Scientific, 1999. [3] L. Blanco, V. Crescenzi, P. Merialdo, and P. Papotti. Probabilistic models to reconcile complex data from inaccurate data sources. In Proc. of CAiSE, pages 83–97, 2010. [4] J. Bleiholder and F. Naumann. Conflict handling strategies in an integrated information system. In Proc. of IIWeb, 2006. [5] J. Bleiholder and F. Naumann. Data fusion. ACM Computing Surveys, 41(1):1:1–1:41, 2009. [6] S. Boyd and L. Vandenberghe. Convex optimization. Cambridge University Press, 2004. [7] C.-T. Chu, S. K. Kim, Y.-A. Lin, Y. Yu, G. Bradski, A. Y. Ng, and K. Olukotun. Map-reduce for machine learning on multicore. In NIPS, pages 281–288, 2006. [8] C. Dai, D. Lin, E. Bertino, and M. Kantarcioglu. An approach to evaluate data trustworthiness based on data provenance. In Proc. of SDM, pages 82–98, 2008. [9] X. L. Dong, L. Berti-Equille, and D. Srivastava. Integrating conflicting data: The role of source dependence. PVLDB, 2(1):550–561, 2009. [10] X. L. Dong and F. Naumann. Data fusion: Resolving data conflicts for integration. PVLDB, 2(2):1654–1655, 2009. [11] X. L. Dong and D. Srivastava. Big data integration. In Proc. of ICDE, pages 1245–1248, 2013. [12] A. Galland, S. Abiteboul, A. Marian, and P. Senellart. Corroborating information from disagreeing views. In Proc. of WSDM, pages 131–140, 2010. [13] Z. Jiang. A decision-theoretic framework for numerical attribute value reconciliation. TKDE, 24(7):1153–1169, 2012. [14] G. Kasneci, J. V. Gael, D. H. Stern, and T. Graepel. Cobayes: Bayesian knowledge corroboration with assessors of unknown areas of expertise. In Proc. of WSDM, pages 465–474, 2011. [15] X. Li, X. L. Dong, K. B. Lyons, W. Meng, and D. Srivastava. Truth finding on the deep web: Is the problem solved? PVLDB, 2013. [16] A. Marian and M. Wu. Corroborating information from web sources. IEEE Data Engineering Bulletin, 34(3):11–17, 2011. [17] J. Nocedal and S. Wright. Numerical optimization. Springer, 2006. [18] J. Pasternack and D. Roth. Making better informed trust decisions with generalized fact-finding. In Proc. of IJCAI, pages 2324–2329, 2011. [19] G.-J. Qi, C. C. Aggarwal, J. Han, and T. Huang. Mining collective intelligence in diverse groups. In Proc. of WWW, pages 1041–1052, 2013. [20] P. Tseng. Convergence of a block coordinate descent method for nondifferentiable minimization. JOTA, 109(3):475–494, 2001. [21] V. Vydiswaran, C. Zhai, and D. Roth. Content-driven trust propagation framework. In Proc. of KDD, pages 974–982, 2011. [22] X. Yin, J. Han, and P. S. Yu. Truth discovery with multiple conflicting information providers on the web. In Proc. of KDD, pages 1048–1052, 2007. [23] B. Zhao and J. Han. A probabilistic model for estimating real-valued truth from conflicting sources. In Proc. of QDB, 2012. [24] B. Zhao, B. I. P. Rubinstein, J. Gemmell, and J. Han. A bayesian approach to discovering truth from conflicting sources for data integration. PVLDB, 5(6):550–561, 2012.