IP Library Granted Patent US 12,710,927
Granted Patent B2
US 12,710,927 · App. 17/207,125 · Granted Aug 18, 2026

Software process modification platform for compliance

Inventors: Sneha Venkatachalam (San Jose, CA); Ravi Retineni (Fremont, CA); Hang Yu (Shanghai, CN); Zhaoyang Wang (Shanghai, CN); Yi Ren (Shanghai, CN); Zihao Zhao (Shanghai, CN); Huiting Li (Shanghai, CN); Gaoyuan Wang (San Jose, CA); Li Cao (San Jose, CA)
Assignee: PayPal, Inc.
G06F8/10G06F3/0482G06F8/20G06F8/30G06F8/34G06F16/93G06F21/54G06N5/04G06N20/00G06N20/20G06Q30/018G06Q50/26
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,710,927
App. No.
17/207,125
Granted
Aug 18, 2026
Kind
B2
Abstract

Methods and systems are presented for providing a computer platform that manages the impacts of government regulations on existing software processes of an online service provider. A regulation document is obtained from a government agency. The regulation document is processed, and legal obligations relevant to an online service provider are extracted from the regulation document. An ensemble machine learning model is used to recommend, for each of the legal obligations, software controls that can be implemented within one or more software processes of the online service provider to mitigate a risk of the legal obligations. The ensemble machine learning model may include an attribute-based model and a text-based model. An explainable visual interface is provided to present the recommended software controls and context that indicates to a user how the software controls are determined for the legal obligations.

Claims (69)

1 . A system, comprising:

a non-transitory memory; and

one or more hardware processors coupled with the non-transitory memory and configured to execute instructions from the non-transitory memory to cause the system to perform operations comprising:

obtaining a document comprising text in a plurality of pages;

determining a hierarchical structure of the document based on parsing the text, wherein the hierarchical structure comprises a plurality of sections;

mapping different portions of the text to different sections of the plurality of sections of the hierarchical structure;

determining, using a machine learning model, that a particular portion of the text corresponds to a first obligation of the system based on the different portions of the text mapped to the different sections of the hierarchical structure;

identifying, from a plurality of computer software programs implemented within the system, a first computer software program that is associated with the first obligation based on analyzing the particular portion of the text and functionalities performed by the plurality of computer software programs, wherein the identifying comprises determining that the first computer software program performs one or more functionalities associated with the first obligation;

in response to determining that the first computer software program is associated with the first obligation, identifying, from a plurality of software controls implemented for a plurality of obligations, a particular software control based on a set of criteria comprising at least one of a number of shared attributes between the first obligation and a second obligation from the plurality of obligations for which the particular software control was implemented, an execution frequency of the particular software control, or a number of computer software programs in which the particular software control has been implemented;

extracting programming code that implements the particular software control from a second computer software program;

modifying the programming code based on the first obligation and the second obligation; and

incorporating the modified programming code within the first computer software program, wherein the modified programming code causes the first computer software program, when executed to perform the one or more functionalities, to comply with the first obligation.

2 . The system of claim 1 , wherein the operations further comprise:

extracting metadata from the document; and

providing the metadata to the machine learning model, wherein the machine learning model is configured to determine the particular portion of the text corresponds to the first obligation further based on the metadata.

3 . The system of claim 2 , wherein the document is associated with a regulation issued by a government agency, and wherein the metadata comprises at least one of an area of law, a category of obligation, a jurisdiction for the regulation, or an identity of the government agency.

4 . The system of claim 1 , wherein the mapping the different portions of the text comprises identifying, within the text using a second machine learning model, titles of the different sections.

5 . The system of claim 4 , wherein the operations further comprise:

determining font data associated with the text, wherein the mapping the different portions of the text is further based on providing the font data to the second machine learning model.

6 . The system of claim 1 , wherein the operations further comprise:

identifying, within the text, a table of content for the document, wherein the hierarchical structure is determined based further on the table of content.

7 . The system of claim 1 , wherein the operations further comprise:

generating a first obligation object representing the first obligation, wherein the first obligation object comprises the particular portion of the text, information representing a corresponding section of the plurality of the sections mapped to the particular portion of the text, and metadata associated with the document.

8 . A method comprising:

obtaining a document comprising text in a plurality of pages;

pre-processing, by a computer system, the document, wherein the pre-processing comprises removing at least a portion of the text from the plurality of pages;

determining, by the computer system, a hierarchical structure based on the pre-processed document, wherein the hierarchical structure comprises a plurality of sections;

mapping, by the computer system, different portions of the document to different sections of the plurality of sections of the hierarchical structure;

determining, using a machine learning model, that a particular portion of the document represents a first obligation of an online service provider based on text data corresponding to the particular portion of the document and data indicating a corresponding section within the hierarchical structure associated with the particular portion of the document;

identifying, by the computer system and from a plurality of computer software programs implemented within the computer system, a first computer software program corresponding to the first obligation based on analyzing the particular portion of the document and functionalities performed by the plurality of computer software programs;

identifying, from a plurality of software controls implemented for a plurality of obligations, a particular software control based on at least one of a number of shared attributes between the first obligation and a second obligation from the plurality of obligations for which the particular software control was implemented, an execution frequency of the particular software control, or a number of computer software programs in which the particular software control has been implemented;

extracting programming code corresponding to the particular software control from the second computer software program

modifying, by the computer system, the programming code; and

incorporating, by the computer system, the modified programming code into the first computer software program, wherein the modified programming code causes the first computer software program, when executed, to mitigate a risk associated with the first obligation.

9 . The method of claim 8 , wherein the pre-processing the document comprises: identifying one or more headers and/or footers within the text of the document; and removing the one or more headers and/or footers from the text.

10 . The method of claim 9 , wherein the identifying the one or more headers and/or footers comprises:

selecting a page in the document as a current page;

determining, for the current page, a sliding window comprising pages within the document;

comparing text data in a particular line of text in the current page against text data in the particular line of text in each page within the sliding window; and

determining whether the particular line of text in the current page comprises a header or a footer based on the comparing.

11 . The method of claim 10 , wherein the sliding window comprises consecutive pages preceding and/or succeeding the current page.

12 . The method of claim 10 , wherein the sliding window comprises alternate pages preceding and/or succeeding the current page.

13 . The method of claim 10 , wherein the selected page is a first selected page, and wherein the method further comprises:

selecting a second page of the document as the current page; and

moving the sliding window to encompass different pages within the document based on the second page.

14 . The method of claim 8 , wherein the pre-processing the document further comprises:

performing a first pass of pre-processing the pages within the document using a first sliding window having a first window characteristic; and

performing a second pass of pre-processing the pages within the document using a second sliding window having a second window characteristic.

15 . The method of claim 14 , further comprising:

determining that no portion of the text has been removed based on the performing the first pass of pre-processing the pages, wherein the performing the second pass of pre-processing the pages is responsive to the determining that no portion of the text has been removed based on the performing the first pass of pre-processing the pages.

16 . A non-transitory machine-readable medium having stored thereon machine-readable instructions executable to cause a machine to perform operations comprising:

obtaining a document comprising text in a plurality of pages;

pre-processing the text in the plurality of pages;

determining a hierarchical structure based on parsing the pre-processed text, wherein the hierarchical structure comprises a plurality of sections;

mapping different portions of the pre-processed text to different sections of the plurality of sections of the hierarchical structure;

determining, using a machine learning model, that a particular portion of the pre-processed text represents a first obligation of an online service provider based on the particular portion of the pre-processed text and data indicating a corresponding section within the hierarchical structure associated with the particular portion of the pre-processed text;

identifying, from a plurality of computer software programs associated with the online service provider, a first computer software program that corresponds to the first obligation based on analyzing the particular portion of the pre-processed text and functionalities performed by the plurality of computer software programs;

identifying, from a plurality of software controls implemented for a plurality of obligations, a particular software control based on at least one of a number of shared attributes between the first obligation and a second obligation from the plurality of obligations for which the particular software control was implemented, an execution frequency of the particular software control, or a number of computer software programs in which the particular software control has been implemented;

extracting programming code corresponding to the particular software control from a second computer software program of the plurality of computer software programs; and

incorporating the programming code within the first computer software program.

17 . The non-transitory machine-readable medium of claim 16 , wherein the operations further comprise:

extracting metadata from the document, wherein the machine learning model is configured to determine the particular portion of the pre-processed text corresponds to the first obligation further based on the metadata.

18 . The non-transitory machine-readable medium of claim 16 , wherein the pre-processing the text in the plurality of pages comprises:

selecting a page in the document as a current page;

moving a sliding window based on a position of the current page within the plurality of pages;

comparing text data in the current page against text data in other pages within the sliding window; and

determining to remove at least a portion of the text in the current page based on the comparing.

19 . The non-transitory machine-readable medium of claim 18 , wherein the sliding window encompasses consecutive pages preceding and/or succeeding the current page.

20 . The non-transitory machine-readable medium of claim 18 , wherein the sliding window encompasses alternate pages preceding and/or succeeding the current page.