Computer systems and methods for watchlist screening
A computing platform is configured to (i) obtain a first set of watchlist data entries for parties that appear on one or more watchlists and a second set of screened data entries for parties that are to be screened against the one or more watchlists; (ii) determine an initial set of candidate matches between screened data entries and watchlist data entries using a first comparison technique (e.g., a comparison technique that utilizes similarity scores of a first type), and (iii) determine a narrowed set of candidate matches between screened data entries and watchlist data entries using a second comparison technique (e.g., a comparison technique that utilizes similarity scores of a second type).
1 . A computing platform comprising:
at least one communication interface;
at least one processor;
at least one non-transitory computer-readable medium; and
program instructions stored on the at least one non-transitory computer-readable medium that, when executed by the at least one processor, cause the computing platform to:
obtain (i) a first set of watchlist data entries for parties that appear on one or more watchlists and (ii) a second set of screened data entries for parties that are to be screened against the one or more watchlists;
determine an initial set of candidate matches between screened data entries and watchlist data entries utilizing a first comparison technique that involves:
transforming a respective attribute value of each watchlist data entry in the first set and each screened data entry in the second set into a respective sequence of textual segments that represents the respective attribute value;
utilizing a vectorization technique to convert the respective sequence of textual segments for each watchlist data entry in the first set and each screened data entry in the second set into a corresponding sequence of numeric values;
for each respective pairing of a respective screened data entry and a respective watchlist data entry in a set of possible pairings between screened data entries and watchlist data entries, determining a respective similarity score of a first type for the respective pairing by evaluating a vector-level similarity between the corresponding sequence of numeric values for the respective screened data entry and the corresponding sequence of numeric values for the respective watchlist data entry; and
based on the respective similarity scores of the first type that are determined for the respective pairings in the set of possible pairings, determining a subset of respective pairings to include in the initial set of candidate matches;
after determining the initial set of candidate matches, determine a narrowed set of candidate matches between screened data entries and watchlist data entries utilizing a second comparison technique that is more computationally intensive but less likely to result in false-positive candidate matches than the first comparison technique, wherein the second comparison technique involves:
for each respective candidate match in the initial set, determining a respective group of attribute-level similarity scores of a second type for a group of attributes by evaluating, for each individual attribute in the group of attributes, an attribute-level string similarity between (i) a first attribute value for the individual attribute that is contained within the watchlist data entry and (ii) a second attribute value for the individual attribute that is contained within the screened data entry; and
based on the respective groups of attribute-level similarity scores of the second type that are determined for the candidate matches in the initial set, determining a subset of the candidate matches in the initial set to include in the narrowed set of candidate matches; and
validate whether the narrowed set of candidate matches are true matches by:
causing given ones of candidate matches in the narrowed set to be presented, via a user interface, to one or more analysts for further evaluation;
receiving user input provided by the one or more analysts that indicates whether the given ones of candidate matches in the narrowed set are true matches; and
validating whether the given ones of candidate matches in the narrowed set are true matches based on the user input.
2 . The computing platform of claim 1 , further comprising program instructions stored on the at least one non-transitory computer-readable medium that, when executed by the at least one processor, cause the computing platform to:
based on validating that a given candidate match in the narrowed set is a true match, suspend an ability of a screened party associated with the given candidate match to engage in certain types of financial transactions.
3 . The computing platform of claim 1 , wherein the vector-level similarity comprises cosine similarity.
4 . The computing platform of claim 1 , wherein the attribute-level string similarity comprises edit distance.
5 . The computing platform of claim 1 , wherein determining the subset of the candidate matches in the initial set to include in the narrowed set of candidate matches based on the respective groups of attribute-level similarity scores of the second type that are determined for the candidate matches in the initial set comprises:
for each candidate match in the initial set, inputting the respective group of attribute-level similarity scores of the second type into a machine learning model that is configured to predict a likelihood of match between a screened data entry and a watchlist data entry and thereby determine a respective likelihood of match for the candidate match; and
based on the respective likelihoods of match that are determined for the candidate matches in the initial set, determining the subset of the candidate matches in the initial set to include in the narrowed set of candidate matches.
6 . The computing platform of claim 1 , wherein the respective attribute value comprises a respective name value.
7 . The computing platform of claim 1 , wherein the numeric values comprise Term Frequency-Inverse Document Frequency (TF-IDF) values.
8 . A non-transitory computer-readable medium, wherein the non-transitory computer-readable medium is provisioned with program instructions that, when executed by at least one processor, cause a computing platform to:
obtain (i) a first set of watchlist data entries for parties that appear on one or more watchlists and (ii) a second set of screened data entries for parties that are to be screened against the one or more watchlists;
determine an initial set of candidate matches between screened data entries and watchlist data entries utilizing a first comparison technique that involves:
transforming a respective attribute value of each watchlist data entry in the first set and each screened data entry in the second set into a respective sequence of textual segments that represents the respective attribute value;
utilizing a vectorization technique to convert the respective sequence of textual segments for each watchlist data entry in the first set and each screened data entry in the second set into a corresponding sequence of numeric values;
for each respective pairing of a respective screened data entry and a respective watchlist data entry in a set of possible pairings between screened data entries and watchlist data entries, determining a respective similarity score of a first type for the respective pairing by evaluating a vector-level similarity between the corresponding sequence of numeric values for the respective screened data entry and the corresponding sequence of numeric values for the respective watchlist data entry; and
based on the respective similarity scores of the first type that are determined for the respective pairings in the set of possible pairings, determining a subset of respective pairings to include in the initial set of candidate matches;
after determining the initial set of candidate matches, determine a narrowed set of candidate matches between screened data entries and watchlist data entries utilizing a second comparison technique that is more computationally intensive but less likely to result in false-positive candidate matches than the first comparison technique, wherein the second comparison technique involves:
for each respective candidate match in the initial set, determining a respective group of attribute-level similarity scores of a second type for a group of attributes by evaluating, for each individual attribute in the group of attributes, an attribute-level string similarity between (i) a first attribute value for the individual attribute that is contained within the watchlist data entry and (ii) a second attribute value for the individual attribute that is contained within the screened data entry; and
based on the respective groups of attribute-level similarity scores of the second type that are determined for the candidate matches in the initial set, determining a subset of the candidate matches in the initial set to include in the narrowed set of candidate matches; and
validate whether the narrowed set of candidate matches are true matches by:
causing given ones of candidate matches in the narrowed set to be presented, via a user interface, to one or more analysts for further evaluation;
receiving user input provided by the one or more analysts that indicates whether the given ones of candidate matches in the narrowed set are true matches; and
validating whether the given ones of candidate matches in the narrowed set are true matches based on the user input.
9 . The non-transitory computer-readable medium of claim 8 , further provisioned with program instructions that, when executed by the at least one processor, cause the computing platform to:
based on validating that a given candidate match in the narrowed set is a true match, suspend an ability of a screened party associated with the given candidate match to engage in certain types of financial transactions.
10 . The non-transitory computer-readable medium of claim 8 , wherein the vector-level similarity comprises cosine similarity.
11 . The non-transitory computer-readable medium of claim 8 , wherein the attribute-level string similarity comprises edit distance.
12 . The non-transitory computer-readable medium of claim 8 , wherein determining the subset of the candidate matches in the initial set to include in the narrowed set of candidate matches based on the respective groups of attribute-level similarity scores of the second type that are determined for the candidate matches in the initial set comprises:
for each candidate match in the initial set, inputting the respective group of attribute-level similarity scores of the second type into a machine learning model that is configured to predict a likelihood of match between a screened data entry and a watchlist data entry and thereby determine a respective likelihood of match for the candidate match; and
based on the respective likelihoods of match that are determined for the candidate matches in the initial set, determining the subset of the candidate matches in the initial set to include in the narrowed set of candidate matches.
13 . A method carried out by a computing platform, the method comprising:
obtaining (i) a first set of watchlist data entries for parties that appear on one or more watchlists and (ii) a second set of screened data entries for parties that are to be screened against the one or more watchlists;
determining an initial set of candidate matches between screened data entries and watchlist data entries utilizing a first comparison technique that involves:
transforming a respective attribute value of each watchlist data entry in the first set and each screened data entry in the second set into a respective sequence of textual segments that represents the respective attribute value;
utilizing a vectorization technique to convert the respective sequence of textual segments for each watchlist data entry in the first set and each screened data entry in the second set into a corresponding sequence of numeric values;
for each respective pairing of a respective screened data entry and a respective watchlist data entry in a set of possible pairings between screened data entries and watchlist data entries, determining a respective similarity score of a first type for the respective pairing by evaluating a vector-level similarity between the corresponding sequence of numeric values for the respective screened data entry and the corresponding sequence of numeric values for the respective watchlist data entry; and
based on the respective similarity scores of the first type that are determined for the respective pairings in the set of possible pairings, determining a subset of respective pairings to include in the initial set of candidate matches;
after determining the initial set of candidate matches, determining a narrowed set of candidate matches between screened data entries and watchlist data entries utilizing a second comparison technique that is more computationally intensive but less likely to result in false-positive candidate matches than the first comparison technique, wherein the second comparison technique involves:
for each respective candidate match in the initial set, determining a respective group of attribute-level similarity scores of a second type for a group of attributes by evaluating, for each individual attribute in the group of attributes, an attribute-level string similarity between (i) a first attribute value for the individual attribute that is contained within the watchlist data entry and (ii) a second attribute value for the individual attribute that is contained within the screened data entry; and
based on the respective groups of attribute-level similarity scores of the second type that are determined for the candidate matches in the initial set, determining a subset of the candidate matches in the initial set to include in the narrowed set of candidate matches; and
validating whether the narrowed set of candidate matches are true matches by:
causing given ones of candidate matches in the narrowed set to be presented, via a user interface, to one or more analysts for further evaluation;
receiving user input provided by the one or more analysts that indicates whether the given ones of candidate matches in the narrowed set are true matches; and
validating whether the given ones of candidate matches in the narrowed set are true matches based on the user input.
14 . The method of claim 13 , wherein the vector-level similarity comprises cosine similarity.
15 . The method of claim 13 , wherein the attribute-level string similarity comprises edit distance.
16 . The method of claim 13 , wherein determining the subset of the candidate matches in the initial set to include in the narrowed set of candidate matches based on the respective groups of attribute-level similarity scores of the second type that are determined for the candidate matches in the initial set comprises:
for each candidate match in the initial set, inputting the respective group of attribute-level similarity scores of the second type into a machine learning model that is configured to predict a likelihood of match between a screened data entry and a watchlist data entry and thereby determine a respective likelihood of match for the candidate match; and
based on the respective likelihoods of match that are determined for the candidate matches in the initial set, determining the subset of the candidate matches in the initial set to include in the narrowed set of candidate matches.
17 . The method of claim 13 , further comprising:
based on validating that a given candidate match in the narrowed set is a true match, suspending an ability of a screened party associated with the given candidate match to engage in certain types of financial transactions.
18 . The method of claim 13 , wherein the respective attribute value comprises a respective name value.
19 . The method of claim 13 , wherein the numeric values comprise Term Frequency-Inverse Document Frequency (TF-IDF) values.