IP Library Granted Patent US 12,282,739
Granted Patent B2
US 12,282,739 · App. 18/111,448 · Granted Apr 22, 2025

Systems, methods, and storage media for preventing compliance violating messages from being communicated to a recipient

Inventors: Vadim Polosatov (Ulyanovsk, RU); Jonathan Moskowitz (Lakewood, CO)
Assignee: FairWords, Inc.
G06F40/284G06F40/205
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,282,739
App. No.
18/111,448
Filed
Feb 17, 2023
Granted
Apr 22, 2025
Kind
B2
Art Unit
2654
USPC
704/9
Abstract

A method for analyzing a digital message for presence of a non-compliant expression within the digital message is disclosed. The digital message may be created using a computing device including a text input hardware device and may contain at least one segment. The method includes capturing keystrokes at the text input hardware device, analyzing the keystrokes to capture the digital message including an end of the segment, and assessing the segment for presence of a concept flag in at the segment, wherein the concept flag is associated with the non-compliant expression. Assessing may include obtaining a relation pattern for the concept flag, generating a dependency parse graph for the segment, and comparing the dependency parse graph to the relation pattern. If at least a portion of the dependency parse graph matches the relation pattern, then concluding that the segment contains the concept flag associated with the non-compliant expression.

Claims (59)

1. A method for analyzing a digital message for presence of a non-compliant expression within the digital message, the digital message including at least one segment and being created using a computing device including a text input hardware device, the method comprising:

capturing keystrokes at the text input hardware device;

analyzing the keystrokes to capture the digital message including an end of the at least one segment; and

assessing the at least one segment for presence of a concept flag in the at least one segment, the concept flag being associated with the non-compliant expression, wherein assessing includes

obtaining a relation pattern for the concept flag,

generating a dependency parse graph for the at least one segment,

comparing the dependency parse graph to the relation pattern, and

if at least a portion of the dependency parse graph matches the relation pattern, then concluding the at least one segment contains the concept flag associated with the non-compliant expression.

2. The method of claim 1 , further comprising:

blocking the at least one segment containing the non-compliant expression from being transmitted from the computing device.

3. The method of claim 2 ,

wherein the at least one segment comprises a plurality of portions, and

wherein blocking includes

providing a block threshold value;

assigning a score to each one of the plurality of portions of the at least one segment based on the assessing;

summing scores of the plurality of portions of the at least one segment to generate a sum score;

comparing the sum score to the block threshold value; and

if the sum score exceeds the block threshold value, then precluding the at least one segment containing the concept flag from being transmitted from the computing device.

4. The method of claim 1 , further comprising:

displaying a notification on the computing device, the notification including an indication of the non-compliant expression contained in the at least one segment.

5. The method of claim 1 ,

wherein the concept flag includes a plurality of concept flag parts, each one of the plurality of concept flag parts being associated with a set of word alternatives related to the non-compliant expression,

wherein assessing the at least one segment includes:

separating the at least one segment into individual words,

determining a lemma for each one of the individual words, and

for the lemma determined for each one of the individual words, analyzing whether the lemma corresponds to one of the plurality of concept flag parts.

6. The method of claim 5 , wherein generating the dependency parse graph for the at least one segment includes

setting each one of the individual words as a node in the at least one segment,

representing any relation between nodes as edges, and

identifying a relation pattern from the edges.

7. The method of claim 5 , wherein assessing the at least one segment further includes considering exceptions for the lemma determined for each one of the individual words, the exceptions including at least one of inflections of lemmas and jargon words.

8. The method of claim 5 , wherein assessing the at least one segment further includes considering relations between lemmas determined for different ones of the individual words using a token lemma filter.

9. A system for analyzing a digital message for presence of a non-compliant expression within the digital message, the digital message being created using a computing device including a text input hardware device, the system comprising:

one or more processing devices and memory communicatively coupled with and readable by the one or more processing devices, the memory comprising processor-readable instructions which, when executed by the one or more processing devices, cause the one or more processing devices to perform actions comprising:

capturing keystrokes at the text input hardware device associated with creation of the digital message, the digital message including at least one segment;

analyzing the keystrokes to capture the at least one segment and identifying an end of the at least one segment;

assessing the at least one segment for presence of a concept flag in the at least one segment, the concept flag being associated with the non-compliant expression, assessing including

obtaining a relation pattern for the concept flag,

generating a dependency parse graph for the at least one segment,

comparing the dependency parse graph to the relation pattern, and

if at least a portion of the dependency parse graph matches the relation pattern, then concluding the at least one segment contains the concept flag associated with the non-compliant expression.

10. The system of claim 9 , further comprising:

blocking the at least one segment containing the non-compliant expression from being transmitted from the computing device.

11. The system of claim 9 , further comprising:

displaying a notification on the computing device, the notification including an indication of the non-compliant expression contained in the at least one segment.

12. The system of claim 9 , wherein the digital message includes at least one of an email, an instant message (IM), a message sent using a short message service (SMS) application, a text message, a social media message, and a social media comment.

13. One or more non-transitory, machine-readable media having machine-readable instructions thereon which, when executed by one or more processing devices, cause the one or more processing devices to perform actions comprising:

capturing keystrokes at a text input hardware device associated with creation of a digital message, the digital message including at least one segment,

analyzing the keystrokes to capture the at least one segment and identifying an end of the at least one segment;

assessing the at least one segment for presence of a concept flag in the at least one segment, the concept flag being associated with a non-compliant expression, assessing including

obtaining a relation pattern for the concept flag,

generating a dependency parse graph for the at least one segment,

comparing the dependency parse graph to the relation pattern, and

if at least a portion of the dependency parse graph matches the relation pattern, then concluding the at least one segment contains the concept flag associated with the non-compliant expression.

14. The one or more non-transitory, machine-readable media of claim 13 further comprising:

blocking the at least one segment containing the non-compliant expression from being transmitted from a computing device.

15. The one or more non-transitory, machine-readable media of claim 13 further comprising:

displaying a notification on a computing device, the notification including an indication of the non-compliant expression contained in the at least one segment.

16. The one or more non-transitory, machine-readable media of claim 13 wherein the digital message includes at least one of an email, an instant message (IM), a message sent using a short message service (SMS) application, a text message, a social media message, and a social media comment.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2025
From: FAIRWORDS INC.
To: MYCOMPLIANCEOFFICE LIMITED
Reel/Frame 071263/0438 →
SECURITY INTEREST Recorded Jul 14, 2023
From: FAIRWORDS, INC.
To: ACCEL-KKR CREDIT PARTNERS SPV, LLC
Reel/Frame 064263/0407 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2023
From: POLOSATOV, VADIM; MOSKOWITZ, JONATHAN
To: FAIRWORDS, INC.
Reel/Frame 063229/0537 →
Continuity (2)
Provisional Application 63311066 · Feb 17, 2022
Related Publication 20230385545A1 · Nov 30, 2023
References Cited (89)
US 7028259B1 · Jacobson · 2006 [cited by applicant]
US 7702536B1 · Alabraba et al. · 2010 [cited by applicant]
US 7756843B1 · Palmer · 2010 [cited by applicant]
US 7827165B2 · Abernethy, Jr. et al. · 2010 [cited by applicant]
US 7933960B2 · Chen et al. · 2011 [cited by applicant]
US 8762280B1 · Bennett et al. · 2014 [cited by applicant]
US 8918466B2 · Yu · 2014 [cited by applicant]
US 8965752B2 · Chalmers et al. · 2015 [cited by applicant]
US 9009834B1 · Ren et al. · 2015 [cited by applicant]
US 9037967B1 · Al-Jefri et al. · 2015 [cited by applicant]
US 9235629B1 · Jones et al. · 2016 [cited by applicant]
US 9852215B1 · Sullivan et al. · 2017 [cited by applicant]
US 10120859B2 · Parikh · 2018 [cited by examiner]
US 10289678B2 · Parikh · 2019 [cited by examiner]
US 10305831B2 · Parikh · 2019 [cited by examiner]
US 10706232B2 · Parikh · 2020 [cited by examiner]
US 11301628B2 · Parikh · 2022 [cited by examiner]
US 11501068B2 · Parikh · 2022 [cited by examiner]
US 11556696B2 · Chopdekar · 2023 [cited by examiner]
US 11886800B1 · Wang · 2024 [cited by examiner]
US 12029574B2 · Arroyo-Gallego · 2024 [cited by examiner]
US 12124490B2 · Joseph · 2024 [cited by examiner]
US 20040193557A1 · Olsen · 2004 [cited by applicant]
US 20040215449A1 · Roy · 2004 [cited by applicant]
US 20070282814A1 · Gupta · 2007 [cited by applicant]
US 20080091408A1 · Roulland et al. · 2008 [cited by applicant]
US 20080208567A1 · Brockett et al. · 2008 [cited by applicant]
US 20090006950A1 · Gross et al. · 2009 [cited by applicant]
US 20100125897A1 · Jain et al. · 2010 [cited by applicant]
US 20100169769A1 · Jimenez et al. · 2010 [cited by applicant]
US 20100318318A1 · Spiesberger · 2010 [cited by applicant]
US 20100318903A1 · Ferren · 2010 [cited by applicant]
US 20110238979A1 · Harp et al. · 2011 [cited by applicant]
US 20120066763A1 · Mchugh et al. · 2012 [cited by applicant]
US 20120078612A1 · Kandekar et al. · 2012 [cited by applicant]
US 20120079372A1 · Kandekar et al. · 2012 [cited by applicant]
US 20120179682A1 · De Saeger et al. · 2012 [cited by applicant]
US 20120191792A1 · Chebiyyam · 2012 [cited by applicant]
US 20120209751A1 · Chen et al. · 2012 [cited by applicant]
US 20120297317A1 · Radom et al. · 2012 [cited by applicant]
US 20130110748A1 · Talati et al. · 2013 [cited by applicant]
US 20130120267A1 · Pasquero et al. · 2013 [cited by applicant]
US 20130238318A1 · Enoki et al. · 2013 [cited by applicant]
US 20130253910A1 · Turner et al. · 2013 [cited by applicant]
US 20130339457A1 · Freire et al. · 2013 [cited by applicant]
US 20140047234A1 · Davis et al. · 2014 [cited by applicant]
US 20140047556A1 · Davis · 2014 [cited by applicant]
US 20140143268A1 · Finkelstein et al. · 2014 [cited by applicant]
US 20140278361A1 · Pak et al. · 2014 [cited by applicant]
US 20150026760A1 · Lipman · 2015 [cited by applicant]
US 20150033283A1 · Mulder · 2015 [cited by applicant]
US 20150089578A1 · Schofield · 2015 [cited by applicant]
US 20150154184A1 · Bahgat et al. · 2015 [cited by applicant]
US 20150172243A1 · Parikh et al. · 2015 [cited by applicant]
US 20160006680A1 · Chebiyyam · 2016 [cited by applicant]
US 20160063874A1 · Czerwinshi et al. · 2016 [cited by applicant]
US 20160147731A1 · Parikh · 2016 [cited by examiner]
US 20160196150A1 · Jing et al. · 2016 [cited by applicant]
US 20170103231A1 · Lipman · 2017 [cited by applicant]
US 20170300472A1 · Parikh · 2017 [cited by examiner]
US 20190220512A1 · Parikh · 2019 [cited by examiner]
US 20200285809A1 · Parikh · 2020 [cited by examiner]
US 20200394361A1 · Parikh · 2020 [cited by examiner]
US 20230385545A1 · Polosatov · 2023 [cited by examiner]
US 20240177183A1 · Miguel · 2024 [cited by examiner]
“4.2 The Regular Expression Tagger”, 2 pages, online available at <http://www.nltk.org/book/ch05.html>, retrieved on: Apr. 4, 2018. [cited by applicant]
Ex Parte Quayle Action received for U.S. Appl. No. 15/640,471 dated Dec. 31, 2018, 8 pages. [cited by applicant]
Final Office Action received for U.S. Appl. No. 14/572,714 dated Sep. 8, 2017, 21 pages. [cited by applicant]
Hevly, Lou “Regex Dictionary”, Visca.com, 1 page, online available at <https://visca.com/regexdicl/>, retrieved on: Apr. 4, 2018. [cited by applicant]
Non Final Office Action received for U.S. Appl. No. 14/572,714 dated Apr. 18, 2018, 27 pages. [cited by applicant]
Non Final Office Action received for U.S. Appl. No. 14/572,714 dated Jan. 3, 2017, 24 pages. [cited by applicant]
Non Final Office Action received for U.S. Appl. No. 15/005,132 dated Sep. 27, 2017, 19 pages. [cited by applicant]
Non Final Office Action received for U.S. Appl. No. 15/640,471 dated Mar. 22, 2018, 21 pages. [cited by applicant]
Non Final Office Action received for U.S. Appl. No. 16/363,429 dated Feb. 21, 2020, 18 pages. [cited by applicant]
Non Final Office Action received for U.S. Appl. No. 16/884,878 dated Aug. 17, 2021, 6 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 15/005,132 dated Jun. 26, 2018, 5 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 15/640,471 dated Mar. 13, 2019, 5 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 16/363,429 dated Mar. 12, 2020, 5 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 16/884,878 dated Jan. 18, 2022, 17 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 17/003,715 dated Jul. 22, 2022, 9 pages. [cited by applicant]
Response filed on Feb. 8, 2018 for Final Office Action of U.S. Appl. No. 14/572,714 Mail received dated Sep. 8, 2017, 12 pages. [cited by applicant]
Response filed on Feb. 24, 2020 for Non Final Office Action of U.S. Appl. No. 16/363,429 Mail received dated Feb. 21, 2020, 9 pages. [cited by applicant]
Response filed on Feb. 27, 2018 for Non Final Office Action of U.S. Appl. No. 15/005,132 Mail received dated Sep. 27, 2017, 13 pages. [cited by applicant]
Response filed on Jan. 30, 2019 for Ex Parte Quayle Action of U.S. Appl. No. 15/640,471 Mail received dated Dec. 31, 2018, 13 pages. [cited by applicant]
Response filed on Jun. 5, 2017 for Non Final Office Action of U.S. Appl. No. 14/572,714 Mail received dated Jan. 3, 2017, 11 pages. [cited by applicant]
Response filed on Mar. 8, 2018 for Final Office Action of U.S. Appl. No. 14/572,714 Mail received dated Sep. 8, 2017, 12 pages. [cited by applicant]
Response filed on Sep. 14, 2018 for Non Final Office Action of U.S. Appl. No. 14/572,714 Mail received dated Apr. 18, 2018, 11 pages. [cited by applicant]
Response filed on Sep. 14, 2018 for Non Final Office Action of U.S. Appl. No. 15/640,471 Mail received dated Mar. 22, 2018, 13 pages. [cited by applicant]
The Stanford Natural Language Processing Group, “Neural Network Dependency Parser”, 6 pages, online available at <https://nlp.stanford.edu/software/nndep.shtml>, retrieved on: Apr. 4, 2018. [cited by applicant]