21. A computer readable media including program instructions as recited in claim 20 , further comprising: program instructions for repeating (b)-(i) through (b)-(iv) until the set of candidate objects has been processed.
20. A computer readable media, which is non-transitory, including program instructions for analyzing a listing object to define a match to a candidate object among many possible candidate objects, comprising; (a) program instructions for receiving a listing object as an input, wherein the listing object is taken from an input listing that specifies the listing object, a database to search for candidate objects, and a type of relationship to discover; (b) program instructions for generating a set of candidate objects based on characteristics of the listing object, each of the set of candidate objects being paired with the listing object to define a listing-candidate pair, each listing candidate pair being processed by, (i) program instructions for normalizing the listing object into a canonical form based on domain specific knowledge; (ii) program instructions for generating a matching feature vector for a listing-candidate pair, the matching feature vector including a matching score based on a common features between the candidate object and the canonical form of the listing object; (iii) program instructions for analyzing the matching feature vector using a judging committee module; and (iv) program instructions for rendering a match judgment by evaluating the results of the judging committee module to determine whether the listing object and the candidate object are a match, wherein the judging committee module applies a plurality of machine learning classifiers and a rule system to the matching feature vector to render the matching judgment and wherein the rule system includes a set of rules with precedence; (c) program instructions for saving the match judgment to a computer readable media.