System and method for performing configurable matching of similar data in a data repository
First Claim
1. A computer program product for adaptive matching of records in a data repository comprising:
- a computer usable memory medium having computer readable program code embodied therein wherein said computer readable program code comprises a matching executable unit configured to;
present at least one field common to a first record and a second record wherein said at least one field is used to perform a match between said first record and said second record and wherein said at least one field is presented to a user;
obtain a first selected field from said first record and a second selected field from said second record wherein said first selected field and said second selected field is obtained from said user;
obtain a first data entry in said first selected field for said first record, said first data entry comprising a first string;
tokenize said first string to retrieve a first tokenized data entry string;
obtain a second data entry in said second selected field for said second record, said second data entry comprising a second string;
tokenize said second string to retrieve a second tokenized data entry string;
exclude at least one character from said first tokenized data entry string for utilization in said match that involves said first selected field and said second selected field;
exclude at least one different character with respect to said at least one character from said second tokenized data entry string for utilization in said match that involves said first selected field and said second selected field;
remove frequently used strings from said first tokenized data entry string and from said second tokenized data entry string;
normalize data from said first selected field and from said second selected field to cleanse strings;
accept a first list of tokens desired for said match to occur utilizing said first selected field;
accept a second list of tokens desired for said match to occur utilizing said second selected field;
assign weights to each token in said first list of tokens and each token in said second list of tokens;
calculate a score for said match through summation of said weights for each token occurring in said first tokenized data entry string and said first record and for each token that occurs in said second tokenized data entry string and said second record;
generate a group of similar records when said score is above a threshold;
display said group of similar records to said user;
learn at least one token that is relevant;
learn at least one weight that results in a match; and
learn at least one match criteria appropriate for said match for use in future matching based on user input regarding said score.
2 Assignments
0 Petitions
Accused Products
Abstract
Adaptive matching of similar data in a data repository to determine if two or more data items are related in accordance with configurable criteria. Matches are adapted by learning and presenting appropriate match criteria based on previous user input. The system can merge the data items into one master data item, group similar items and perform further processing based on the result. The configurable match criteria presented to a user are adapted by the system based on previous interactions of the system with users. Matching is performed by selecting data items to match, removing frequently used strings, normalizing data, tokenizing multi-word data items, assigning weights to each token, calculating a score using the assigned weights, generating groups of similar records, assigning thresholds for match levels. Adapting choices of match criteria for a user based on past interaction allows for rapid match creation and match maintenance that optimizes data integrity across an enterprise.
38 Citations
20 Claims
-
1. A computer program product for adaptive matching of records in a data repository comprising:
a computer usable memory medium having computer readable program code embodied therein wherein said computer readable program code comprises a matching executable unit configured to; present at least one field common to a first record and a second record wherein said at least one field is used to perform a match between said first record and said second record and wherein said at least one field is presented to a user; obtain a first selected field from said first record and a second selected field from said second record wherein said first selected field and said second selected field is obtained from said user; obtain a first data entry in said first selected field for said first record, said first data entry comprising a first string; tokenize said first string to retrieve a first tokenized data entry string; obtain a second data entry in said second selected field for said second record, said second data entry comprising a second string; tokenize said second string to retrieve a second tokenized data entry string; exclude at least one character from said first tokenized data entry string for utilization in said match that involves said first selected field and said second selected field; exclude at least one different character with respect to said at least one character from said second tokenized data entry string for utilization in said match that involves said first selected field and said second selected field; remove frequently used strings from said first tokenized data entry string and from said second tokenized data entry string; normalize data from said first selected field and from said second selected field to cleanse strings; accept a first list of tokens desired for said match to occur utilizing said first selected field; accept a second list of tokens desired for said match to occur utilizing said second selected field; assign weights to each token in said first list of tokens and each token in said second list of tokens; calculate a score for said match through summation of said weights for each token occurring in said first tokenized data entry string and said first record and for each token that occurs in said second tokenized data entry string and said second record; generate a group of similar records when said score is above a threshold; display said group of similar records to said user; learn at least one token that is relevant; learn at least one weight that results in a match; and learn at least one match criteria appropriate for said match for use in future matching based on user input regarding said score. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
11. A computer program product for adaptive matching of records in a data repository comprising:
a computer usable memory medium having computer readable program code embodied therein wherein said computer readable program code comprises a matching executable unit configured to; present at least one field common to a first record and a second record wherein said at least one field is used to perform a match between said first record and said second record and wherein said at least one field is presented to a user; obtain a first selected field from said first record and a second selected field from said second record wherein said first selected field and said second selected field is obtained from said user; obtain a first data entry in said first selected field for said first record, said first data entry comprising a first string; tokenize said first string to retrieve a first tokenized data entry string; obtain a second data entry in said second selected field for said second record, said second data entry comprising a second string; tokenize said second string to retrieve a second tokenized data entry string; exclude at least one character from said first tokenized data entry string for utilization in said match that involves said first selected field and said second selected field; exclude at least one different character with respect to said at least one character from said second tokenized data entry string for utilization in said match that involves said first selected field and said second selected field; remove frequently used strings from said first tokenized data entry string and from said second tokenized data entry string; normalize data from said first selected field and from said second selected field to cleanse strings; alter a list of tokens presented to a user to define said match involving said first selected field when said user selects said second selected field; accept a first list of tokens desired for said match to occur utilizing said first selected field; accept a second list of tokens desired for said match to occur utilizing said second selected field; assign weights to each token in said first list of tokens and each token in said second list of tokens; calculate a score for said match through summation of said weights for each token that occurs in said first tokenized data entry string and said first record and for each token that occurs in said second tokenized data entry string and said second record; generate a group of similar records when said score is above a threshold; display said group of similar records to said user;
learn at least one token that is relevant;learn at least one weight that results in a match; and learn at least one match criteria appropriate for said match for use in future matching based on user input regarding said score. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
20. A computer system for adaptive matching of records in a data repository comprising:
a computer system comprising a display device and a data repository, said computer system configured to; present on said display device at least one field common to a first record and a second record wherein said at least one field is used to perform a match between said first record and said second record and wherein said at least one field is presented to a user on said display device; obtain a first selected field from said first record and a second selected field from said second record wherein said first selected field and said second selected field is obtained from said user; obtain a first data entry in said first selected field for said first record, said first data entry comprising a first string; tokenize said first string to retrieve a first tokenized data entry string; obtain a second data entry in said second selected field for said second record, said second data entry comprising a second string; tokenize said second string to retrieve a second tokenized data entry string; exclude at least one character from said first tokenized data entry string for utilization in said match that involves said first selected field and said second selected field; exclude at least one different character with respect to said at least one character from said second tokenized data entry string for utilization in said match that involves said first selected field and said second selected field; remove frequently used strings from said first tokenized data entry string and from said second tokenized data entry string; normalize data from said first selected field and from said second selected field to cleanse strings; accept a first list of tokens desired for said match to occur utilizing said first selected field; accept a second list of tokens desired for said match to occur utilizing said second selected field; assign weights to each token in said first list of tokens and each token in said second list of tokens; calculate a score for said match through summation of said weights for each token that occurs in said first tokenized data entry string and said second record and for each token that occurs in said second tokenized data entry and said second record; generate a group of similar records when said score is above a threshold; display said group of similar records to said user; learn at least one token that is relevant; learn at least one weight that results in a match; and learn at least one match criteria appropriate for said match for use in future matching based on user input regarding said score.
Specification