IP Library › Granted Patent US 12,254,116
Granted Patent B2
US 12,254,116 · App. 18/620,470 · Granted Mar 18, 2025

System and method for detecting and obfuscating confidential information in task logs

Inventors: Pratap Dande (Saint Johns, FL); Akhila Mylaram (Frisco, TX); Gilberto R. Dos Santos (Jacksonville, FL); JayaBalaji Murugan (Tamil Nadu, IN)
Assignee: Bank of America Corporation
G06F21/6254G06F16/31
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 12,254,116
App. No.
18/620,470
Granted
Mar 18, 2025
Kind
B2
Abstract

A system accesses a task log comprising text that is confidential information. The system selects a first portion of the task log. The system compares each word in the first portion with keywords that are known to be confidential information. The system determines that a word in the first portion is among the keywords. The system determines a hierarchical relationship between the word and neighboring words. The system determines that the word is associated with the neighboring words based on the hierarchical relationship. The system generates a template pattern comprising the word and one or more words associated with the word. The system obfuscates the template pattern.

Claims (97)

1. A system, comprising:

a memory configured to store:

a plurality of task logs comprising text that is confidential information; and

a training dataset comprising a set of keywords associated with the confidential information;

a processor operably coupled with the memory, and configured to:

access the plurality of task logs;

for a first task log from among the plurality of task logs:

select a first portion of the first task log;

for a first word in the first portion:

compare the first word with each of the set of keywords, wherein comparing the first word with each of the set of keywords comprises:

 extracting a first set of features from the first word, wherein the first set of features indicates a first identity of the first word, wherein the first set of features is represented by a first vector of numerical values;

 extracting a second set of features from a second word of the set of keywords, wherein the second set of features indicates a second identity of the second word, wherein the second set of features is represented by a second vector of numerical values; and

 comparing the first vector with the second vector;

determine that the first word is among the set of keywords, wherein determining that the first word is among the set of keywords comprises:

 determining a percentage of numerical values in the first vector that correspond to counterpart numerical values in the second vector;

 comparing the determined percentage of numerical values in the first vector that correspond to the counterpart numerical values in the second vector to a threshold percentage; and

 determining that the determined percentage of numerical values exceeds the threshold percentage;

determine a hierarchical relationship between the first word and neighboring words in the first portion, wherein the hierarchical relationship between the first word and the neighboring words indicates whether or not the first word is associated with each of the neighboring words;

determine that the hierarchical relationship between the first word and the neighboring words indicates that the first word is associated with at least a third word in the first portion;

generate a template pattern comprising the first word and the third word, wherein the template pattern indicates that the first word and the third word are among the confidential information; and

obfuscate the first word and the third word.

2. The system of claim 1 , wherein obfuscating the first word and the third word comprises encrypting the first word and the third word using an encryption technique.

3. The system of claim 1 , wherein the processor is further configured to:

use the template pattern to identify other instances of the template pattern in the plurality of task logs; and

obfuscate the identified other instances of the template pattern; and

communicate the plurality of task logs with the obfuscated other instances of the template pattern.

4. The system of claim 1 , wherein:

each of the plurality of task logs has a different data format compared to other task logs; and

the different data format comprises structured data format, semi-structured data format, and unstructured data format.

5. The system of claim 1 , wherein each of the plurality of task logs is compressed with a different compression technique compared to other task logs.

6. The system of claim 1 , wherein the third word is included in the template pattern even if the third word is not among the set of keywords.

7. The system of claim 1 , wherein the processor is further configured to:

identify a fourth word in the first portion, wherein the fourth word is a name of a user who is authorized to access the first word and the third word;

after obfuscating the first word and the third word, communicate the obfuscated first word and the obfuscated third word to a computing device associated with the user;

receive, from the computing device, a request to decrypt the obfuscated first word and the obfuscated third word;

decrypt the obfuscated first word and the obfuscated third word; and

communicate the decrypted first word and the decrypted third word to the computing device.

8. A method, comprising:

accessing a plurality of task logs comprising text that is confidential information;

for a first task log from among the plurality of task logs:

selecting a first portion of the first task log;

for a first word in the first portion:

comparing the first word with each of a set of keywords, wherein the set of keywords included in a training dataset and associated with the confidential information, wherein comparing the first word with each of the set of keywords comprises:

extracting a first set of features from the first word, wherein the first set of features indicates a first identity of the first word, wherein the first set of features is represented by a first vector of numerical values;

extracting a second set of features from a second word of the set of keywords, wherein the second set of features indicates a second identity of the second word, wherein the second set of features is represented by a second vector of numerical values; and

comparing the first vector with the second vector;

determining that the first word is among the set of keywords, wherein determining that the first word is among the set of keywords comprises:

determining a percentage of numerical values in the first vector that correspond to counterpart numerical values in the second vector;

comparing the determined percentage of numerical values in the first vector that correspond to the counterpart numerical values in the second vector to a threshold percentage; and

determining that the determined percentage of numerical values exceeds the threshold percentage;

determining a hierarchical relationship between the first word and neighboring words in the first portion, wherein the hierarchical relationship between the first word and the neighboring words indicates whether or not the first word is associated with each of the neighboring words;

determining that the hierarchical relationship between the first word and the neighboring words indicates that the first word is associated with at least a third word in the first portion;

generating a template pattern comprising the first word and the third word, wherein the template pattern indicates that the first word and the third word are among the confidential information; and

obfuscating the first word and the third word.

9. The method of claim 8 , wherein obfuscating the first word and the third word comprises encrypting the first word and the third word using an encryption technique.

10. The method of claim 8 , further comprising:

using the template pattern to identify other instances of the template pattern in the plurality of task logs; and

obfuscating the identified other instances of the template pattern; and

communicating the plurality of task logs with the obfuscated other instances of the template pattern.

11. The method of claim 8 , wherein:

each of the plurality of task logs has a different data format compared to other task logs; and

the different data format comprises structured data format, semi-structured data format, and unstructured data format.

12. The method of claim 8 , wherein each of the plurality of task logs is compressed with a different compression technique compared to other task logs.

13. The method of claim 8 , wherein the third word is included in the template pattern even if the third word is not among the set of keywords.

14. The method of claim 8 , further comprising:

identifying a fourth word in the first portion, wherein the fourth word is a name of a user who is authorized to access the first word and the third word;

after obfuscating the first word and the third word, communicating the obfuscated first word and the obfuscated third word to a computing device associated with the user;

receiving, from the computing device, a request to decrypt the obfuscated first word and the obfuscated third word;

decrypting the obfuscated first word and the obfuscated third word; and

communicating the decrypted first word and the decrypted third word to the computing device.

15. A non-transitory computer readable medium storing instructions that when executed by a processor cause the processor to:

access a plurality of task logs comprising text that is confidential information;

for a first task log from among the plurality of task logs:

select a first portion of the first task log;

for a first word in the first portion:

compare the first word with each of a set of keywords, wherein the set of keywords included in a training dataset and associated with the confidential information, wherein comparing the first word with each of the set of keywords comprises:

extracting a first set of features from the first word, wherein the first set of features indicates a first identity of the first word, wherein the first set of features is represented by a first vector of numerical values;

extracting a second set of features from a second word of the set of keywords, wherein the second set of features indicates a second identity of the second word, wherein the second set of features is represented by a second vector of numerical values; and

comparing the first vector with the second vector;

determine that the first word is among the set of keywords, wherein determining that the first word is among the set of keywords comprises:

determining a percentage of numerical values in the first vector that correspond to counterpart numerical values in the second vector;

comparing the determined percentage of numerical values in the first vector that correspond to the counterpart numerical values in the second vector to a threshold percentage; and

determining that the determined percentage of numerical values exceeds the threshold percentage;

determine a hierarchical relationship between the first word and neighboring words in the first portion, wherein the hierarchical relationship between the first word and the neighboring words indicates whether or not the first word is associated with each of the neighboring words;

determine that the hierarchical relationship between the first word and the neighboring words indicates that the first word is associated with at least a third word in the first portion;

generate a template pattern comprising the first word and the third word, wherein the template pattern indicates that the first word and the third word are among the confidential information; and

obfuscate the first word and the third word.

16. The non-transitory computer readable medium of claim 15 , wherein obfuscating the first word and the third word comprises encrypting the first word and the third word using an encryption technique.

17. The non-transitory computer readable medium of claim 15 , wherein the instructions when executed by the processor, further cause the processor to:

use the template pattern to identify other instances of the template pattern in the plurality of task logs; and

obfuscate the identified other instances of the template pattern; and

communicate the plurality of task logs with the obfuscated other instances of the template pattern.

18. The non-transitory computer readable medium of claim 15 , wherein:

each of the plurality of task logs has a different data format compared to other task logs; and

the different data format comprises structured data format, semi-structured data format, and unstructured data format.

19. The non-transitory computer readable medium of claim 15 , wherein each of the plurality of task logs is compressed with a different compression technique compared to other task logs.

20. The non-transitory computer readable medium of claim 15 , wherein the third word is included in the template pattern even if the third word is not among the set of keywords.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2024
From: DANDE, PRATAP; MYLARAM, AKHILA; DOS SANTOS, GILBERTO R.; MURUGAN, JAYABALAJI
To: BANK OF AMERICA CORPORATION
Reel/Frame 066979/0962 →
Continuity (2)
Continuation 17744930 · May 16, 2022
Related Publication 20240265143A1 · Aug 8, 2024
References Cited (63)
US 7039816B2 · Kocher et al. · 2006 [cited by applicant]
US 7353499B2 · De Jong · 2008 [cited by applicant]
US 7363620B2 · De Jong · 2008 [cited by applicant]
US 7415618B2 · De Jong · 2008 [cited by applicant]
US 7529946B2 · Ray et al. · 2009 [cited by applicant]
US 7920702B2 · Shen-Orr et al. · 2011 [cited by applicant]
US 7941862B2 · Ma et al. · 2011 [cited by applicant]
US 7975308B1 · Satish · 2011 [cited by examiner]
US 8023653B2 · Doherty et al. · 2011 [cited by applicant]
US 8151110B2 · Vantalon et al. · 2012 [cited by applicant]
US 8220058B2 · De Jong · 2012 [cited by applicant]
US 8296240B2 · Read · 2012 [cited by applicant]
US 8347114B2 · Gremaud et al. · 2013 [cited by applicant]
US 8347398B1 · Weber · 2013 [cited by applicant]
US 8392723B2 · Suzuki · 2013 [cited by applicant]
US 8452986B2 · Luetzelberger et al. · 2013 [cited by applicant]
US 8489898B2 · Wong · 2013 [cited by applicant]
US 8549656B2 · Blaisdell et al. · 2013 [cited by applicant]
US 8769305B2 · Blaisdell · 2014 [cited by applicant]
US 8811612B2 · Gerraty · 2014 [cited by applicant]
US 8850216B1 · Mikhailov et al. · 2014 [cited by applicant]
US 8984272B2 · Kohiyama et al. · 2015 [cited by applicant]
US 9124560B1 · Vemula et al. · 2015 [cited by applicant]
US 9135418B2 · Wade et al. · 2015 [cited by applicant]
US 9159319B1 · Hoffmeister · 2015 [cited by examiner]
US 9178856B2 · Castro et al. · 2015 [cited by applicant]
US 9396325B2 · Kendall · 2016 [cited by applicant]
US 9430406B2 · Van Der Sluis et al. · 2016 [cited by applicant]
US 9432184B2 · Zheng et al. · 2016 [cited by applicant]
US 9473485B2 · Kendall · 2016 [cited by applicant]
US 9698973B2 · Johnson et al. · 2017 [cited by applicant]
US 10164980B1 · Berfeld et al. · 2018 [cited by applicant]
US 10178078B1 · Boyer et al. · 2019 [cited by applicant]
US 10187200B1 · Firestone et al. · 2019 [cited by applicant]
US 10292049B2 · Doumen · 2019 [cited by applicant]
US 10410016B1 · Damick · 2019 [cited by examiner]
US 10454671B2 · Thorwirth et al. · 2019 [cited by applicant]
US 10552588B2 · Doumen · 2020 [cited by applicant]
US 10652015B2 · Le Saint et al. · 2020 [cited by applicant]
US 10824737B1 · Guyomarc'H et al. · 2020 [cited by applicant]
US 11228427B2 · Nair et al. · 2022 [cited by applicant]
US 20100095132A1 · Murray · 2010 [cited by applicant]
US 20120042170A1 · Curtin et al. · 2012 [cited by applicant]
US 20120079281A1 · Lowenstein et al. · 2012 [cited by applicant]
US 20120191983A1 · Simske et al. · 2012 [cited by applicant]
US 20130054650A1 · O'Byrne · 2013 [cited by examiner]
US 20130185803A1 · Travis · 2013 [cited by examiner]
US 20140047557A1 · Veerubhotla et al. · 2014 [cited by applicant]
US 20140053252A1 · Kelsey · 2014 [cited by applicant]
US 20140108818A1 · Choi et al. · 2014 [cited by applicant]
US 20150074398A1 · Cullen et al. · 2015 [cited by applicant]
US 20150227505A1 · Morimoto · 2015 [cited by examiner]
US 20150270951A1 · Michiels et al. · 2015 [cited by applicant]
US 20160021109A1 · Jueneman et al. · 2016 [cited by applicant]
US 20160366116A1 · Swaminathan et al. · 2016 [cited by applicant]
US 20170353745A1 · Krkkinen et al. · 2017 [cited by applicant]
US 20180276393A1 · Allen · 2018 [cited by examiner]
US 20180330000A1 · Noble · 2018 [cited by examiner]
US 20210266170A1 · Rossi · 2021 [cited by examiner]
US 20220237383A1 · Park · 2022 [cited by examiner]
US 20230367636A1 · Dande et al. · 2023 [cited by applicant]
US 20230367887A1 · Dande et al. · 2023 [cited by applicant]
US 20230402180A1 · Molero Leon · 2023 [cited by examiner]