Patent ID: 8620930

Claim:
A computer-implemented method comprising: generating, by a processor, one or more matching patterns for one or more pairs of attribute values for an attribute, each pair of the one or more pairs of attribute values comprising two attribute values, the two attribute values comprising a first attribute value from a first record and a second attribute value from a second record, the first attribute value and the second attribute value having a first similarity score satisfying a first criterion; segmenting, by a processor, the first attribute value, the second attribute value, or both the first attribute value and the second attribute value, wherein the segmenting segments instances of words that may be matched between the first and second attribute values; for a first pair of the one or more pairs of attribute values, identifying, by a processor, a matching segment between the first attribute value and the second attribute value of the first pair, wherein the identifying a matching segment is based on matching instances of words between the first and second attribute values; repeating identifying, by a processor, for each pair of the one or more pairs of attribute values; for the first pair of the one or more pairs of attribute values, computing, by a processor, a second similarity score using the first pair, and the matching segment, wherein said second similarity score is based on the one or more matching patterns and matching segments for the one or more pairs satisfying a second criterion, and wherein the second similarity score is stronger than the first similarity score; wherein computing the second similarity score for the first pair comprises: for each matching pattern, determining ratio of number of unique matching segments from the one or more pairs of attribute values and of number of unique pairs of attribute values from the one or more pairs of attribute values; computing the second similarity score using the matching segment if the ratio exceeds a predefined threshold for a matching pattern corresponding to the first pair; and computing the second similarity score using the first pair if the ratio does not exceed the predefined threshold for the matching pattern corresponding to the first pair; and repeating computing, by a processor, for each pair of the one or more pairs of attribute values.