IP Library Granted Patent US 11,501,067
Granted Patent B1
US 11,501,067 · App. 16/856,673 · Granted Nov 15, 2022

Systems and methods for screening data instances based on a target text of a target corpus

Inventors: Mina Naghshnejad (San Francisco, CA); Angelina Yang (San Francisco, CA); Tarun Joshi (San Francisco, CA); Vijayan Nair (San Francisco, CA); Harsh Singhal (San Francisco, CA); Agus Sudjianto (San Francisco, CA)
Assignee: Wells Fargo Bank, N.A.
G06F40/242G06F40/295G06Q20/4014
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,501,067
App. No.
16/856,673
Granted
Nov 15, 2022
Kind
B1
Abstract

Systems, apparatuses, methods, and computer program products are disclosed for screening data instances based on a target text of a target corpus. A screening device analyzes a target corpus to generate at least two term dictionaries for the target corpus. The screening apparatus, based on a frequency of a term in the target corpus, determines a term weight for the term; for each data instance, determines term scores for the data instance and the target text based on the term weights; filters the data instances based on the term scores, to generate a short list of data instances; determines term similarity scores between each data instance of the short list and target text based on the term weights; and provides a data instance determined to likely correspond to the target text and an indication of the corresponding term similarity score(s). A term is a word or an n-gram.

Claims (57)

1. A method for screening data instances based on a target text of a target corpus, the method comprising:

analyzing, by a processor of a screening device, a target corpus to generate a word dictionary and an n-gram dictionary for the target corpus, the target corpus comprising the target text;

based on a frequency of a word in the target corpus, determining, by the screening device, a word weight for the word;

based on a frequency of an n-gram in the target corpus, determining, by the screening device, an n-gram weight for the n-gram;

for each data instance of a plurality of data instances, determining, by the screening device, a word score and an n-gram score for the data instance and the target text based on the determined word and n-gram weights;

filtering, by the screening device, the plurality of data instances based on the word score and the n-gram score corresponding to each data instance, to generate a short list of data instances;

determining, by the screening device, word and n-gram similarity scores between each data instance of the short list and target text based on a term overlap function between a term present in at least a portion of the data instance and the term present in the target text and a corresponding term weight, the term being a respective word or n-gram; and

providing, by the screening device, at least one data instance of the short list and an indication of the corresponding similarity score.

2. The method of claim 1 , further comprising:

identifying, by the screening device, a count of k data instances of the short list that have similarity scores indicating they are the k data instances of the short list that are most similar to the target text; and

providing the k data instances and an indication of the corresponding similarity scores.

3. The method of claim 1 , wherein the target corpus is a watch list, the target text corresponds to an entity listed on the watch list, and the data instance is a transaction.

4. The method of claim 1 , wherein a term weight is determined by the product of (a) a number of times the term appears in the target text divided by a number of terms in the target text and (b) a number of target texts in the target corpus divided by a number of target texts in the target corpus comprising the term, the term being a word or an n-gram.

5. The method of claim 1 , wherein an n-gram is a portion of a character string comprising n sequential characters of the character string.

6. The method of claim 5 , where n is equal to three.

7. The method of claim 1 , wherein a data instance is included in the short list when the data instance comprises at least one of (a) at least one word in common with the target text that has a word weight greater than a word weight threshold or (b) at least one n-gram in common with the target text that has an n-gram weight greater than an n-gram weight threshold.

8. The method of claim 1 , wherein determining the similarity scores for the data instance and the target text comprises:

determining a word overlap function between words present in at least a portion of the data instance and words present in the target text;

determining an n-gram overlap function between the n-grams present in at least a portion of the data instance and n-grams present in the target text; and

providing a result of the word overlap function as the word similarity score and a result of the n-gram overlap function as the n-gram similarity score.

9. The method of claim 8 , wherein determining the similarity scores for the data instance and the target text further comprises:

generating a word vector for the at least a portion of the data instance, wherein each element of the word vector corresponds to a word in the word dictionary and when a word in the word dictionary is present in the at least a portion of the data instance, an element of the word vector corresponding to the word has a non-zero value; and

generating an n-gram vector for the at least a portion of the data instance, wherein each element of the n-gram vector corresponds to an n-gram in the n-gram dictionary and when an n-gram in the n-gram dictionary is present in the at least a portion of the data instance, an element of the n-gram vector corresponding to the n-gram present in the at least a portion of the data instance has a non-zero value,

wherein the word overlap function between words present in the at least a portion of the data instance and words present in the target text is a dot product between the word vector for the at least a portion of the data instance and a word vector corresponding to the target text;

wherein the n-gram overlap function between n-grams present in the at least a portion of the data instance and n-grams present in the target text is a dot product between the n-gram vector for the at least a portion of the data instance and a n-gram vector corresponding to the target text.

10. The method of claim 9 , wherein the non-zero value of the word vector is equal to the word weight corresponding to the word for the target text and the non-zero value of the n-gram vector is equal to the n-gram weight corresponding to the n-gram for the target text.

11. An apparatus for screening data instances based on a target text of a target corpus, the apparatus comprising:

processing circuitry configured to:

analyze a target corpus to generate a word dictionary and an n-gram dictionary for the target corpus, the target corpus comprising the target text;

based on a frequency of a word in the target corpus, determine a word weight for the word;

based on a frequency of an n-gram in the target corpus, determine an n-gram weight for the n-gram;

for each data instance of a plurality of data instances, determine a word score and an n-gram score for the data instance and the target text based on the determined word and n-gram weights;

filter the plurality of data instances based on the word score and the n-gram score corresponding to each data instance, to generate a short list of data instances;

determine word and n-gram similarity scores between each data instance of the short list and target text based on a term overlap function between a term present in at least a portion of the data instance and the term present in the target text and a corresponding term weight, the term being a respective word or n-gram; and

provide at least one data instance of the short list and an indication of the corresponding similarity score.

12. The apparatus of claim 11 , wherein the processing circuitry is further configured to:

identify a count of k data instances of the short list that have similarity scores indicating they are the k data instances of the short list that are most similar to the target text; and

provide the k data instances and an indication of the corresponding similarity scores.

13. The apparatus of claim 11 , wherein the target corpus is a watch list, the target text corresponds to an entity listed on the watch list, and the data instance is a transaction.

14. The apparatus of claim 11 , wherein a term weight is determined by the product of (a) a number of times the term appears in the target text divided by a number of terms in the target text and (b) a number of target texts in the target corpus divided by a number of target texts in the target corpus comprising the term, the term being a word or an n-gram.

15. The apparatus of claim 11 , wherein an n-gram is a portion of a character string comprising n sequential characters of the character string.

16. The apparatus of claim 15 , where n is equal to three.

17. The apparatus of claim 11 , wherein a data instance is included in the short list when the data instance comprises at least one of (a) at least one word in common with the target text that has a word weight greater than a word weight threshold or (b) at least one n-gram in common with the target text that has an n-gram weight greater than an n-gram weight threshold.

18. The apparatus of claim 11 , wherein determining the similarity scores for the data instance and the target text further comprises:

generating a word vector for the at least a portion of the data instance, wherein each element of the word vector corresponds to a word in the word dictionary and when a word in the word dictionary is present in the at least a portion of the data instance, an element of the word vector corresponding to the word has a non-zero value; and

generating an n-gram vector for the at least a portion of the data instance, wherein each element of the n-gram vector corresponds to an n-gram in the n-gram dictionary and when an n-gram in the n-gram dictionary is present in the at least a portion of the data instance, an element of the n-gram vector corresponding to the n-gram has a non-zero value,

wherein the word overlap function between words present in the at least a portion of the data instance and words present in the target text is a dot product between the word vector for the at least a portion of the data instance and a word vector corresponding to the target text;

wherein the n-gram overlap function between n-grams present in the at least a portion of the data instance and n-grams present in the target text is a dot product between the n-gram vector for the at least a portion of the data instance and a n-gram vector corresponding to the target text.

19. The apparatus of claim 18 , wherein the non-zero value of the word vector is equal to the word weight corresponding to the word for the target text and the non-zero value of the n-gram vector is equal to the n-gram weight corresponding to the n-gram for the target text.

20. A computer program product for screening data instances based on a target text of a target corpus, comprising at least one non-transitory storage medium, the at least one non-transitory storage medium storing computer executable instructions, the computer executable instructions comprising computer executable code configured to, when executed by processing circuitry of an apparatus, cause the apparatus to:

analyze a target corpus to generate a word dictionary and an n-gram dictionary for the target corpus, the target corpus comprising the target text;

based on a frequency of a word in the target corpus, determine a word weight for the word;

based on a frequency of an n-gram in the target corpus, determine an n-gram weight for the n-gram;

for each data instance of a plurality of data instances, determine a word score and an n-gram score for the data instance and the target text based on the determined word and n-gram weights;

filter the plurality of data instances based on the word score and the n-gram score corresponding to each data instance, to generate a short list of data instances;

determine word and n-gram similarity scores between each data instance of the short list and target text based on a term overlap function between a term present in at least a portion of the data instance and the term present in the target text and a corresponding term weight, the term being a respective word or n-gram; and

provide at least one data instance of the short list and an indication of the corresponding similarity score.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2020
From: NAGHSHNEJAD, MINA; YANG, ANGELINA; JOSHI, TARUN; NAIR, VIJAYAN; SINGHAL, HARSH; SUDJIANTO, AGUS
To: WELLS FARGO BANK, N.A.
Reel/Frame 052479/0357 →
Cited By (3)
US 12,326,893 US 12,386,872 US 12,645,683