10. A computer implemented method for creating a data matching package comprising: computing on a processor similarity data stored in memory from training examples utilizing at least one similarity function; generating a decision tree from the similarity data where leaves are marked as matching or non-matching by selecting a primitive operator, from a plurality of primitive operators, with a largest benefit from all available operators based on the training examples, the largest benefit is determined by a maximum benefit function; and converting the decision tree into a matching package comprising primitive operators; wherein the plurality of primitive operators include a functional dependency correction operator, a split operator and a rename operator, the split operator partitions a plurality of input relations into multiple disjoint subsets based on a single attribute that is either numerical or categorical, the functional dependency operator uses references tables and the knowledge of functional dependencies to correct missing and incorrect values in the similarity data, and the rename operator is any operator that produces one tuple for each input tuple and that the any operator commutes with a union operator.
10. A computer implemented method for creating a data matching package comprising: computing on a processor similarity data stored in memory from training examples utilizing at least one similarity function; generating a decision tree from the similarity data where leaves are marked as matching or non-matching by selecting a primitive operator, from a plurality of primitive operators, with a largest benefit from all available operators based on the training examples, the largest benefit is determined by a maximum benefit function; and converting the decision tree into a matching package comprising primitive operators; wherein the plurality of primitive operators include a functional dependency correction operator, a split operator and a rename operator, the split operator partitions a plurality of input relations into multiple disjoint subsets based on a single attribute that is either numerical or categorical, the functional dependency operator uses references tables and the knowledge of functional dependencies to correct missing and incorrect values in the similarity data, and the rename operator is any operator that produces one tuple for each input tuple and that the any operator commutes with a union operator. 14. The method of claim 10 , converting the decision tree into a package comprises applying a union to all paths to leaf nodes labeled match.