IP Library Granted Patent US 11,610,047
Granted Patent B1
US 11,610,047 · App. 17/590,776 · Granted Mar 21, 2023

Dynamic labeling of functionally equivalent neighboring nodes in an object model tree

Inventors: Alexandra Hotti (Stockholm, SE); Riccardo Sven Risuleo (Stockholm, SE); Aref Moradi (Stockholm, SE); Stefan Magureanu (Solna, SE); Jens Lagergren (Stockholm, SE)
Assignee: Klarna Bank AB
G06F40/134G06N20/00
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,610,047
App. No.
17/590,776
Filed
Feb 1, 2022
Granted
Mar 21, 2023
Kind
B1
Art Unit
2178
USPC
715/205
Abstract

A baseline request produced from an annotated node of a document object model (DOM) tree and a label assigned to the annotated node are obtained. The label is assigned to a set of neighboring nodes of the DOM that perform a same function by recursively causing the system to, for each neighboring node to the annotated node in the DOM tree an additional request produced in response to performance of simulated human interaction with the neighboring node is identified, if the additional request matches the baseline request, the label is assigned to the neighboring node, and the neighboring node is selected to be the annotated node.

Claims (45)

1. A computer-implemented method, comprising:

observing first data within a first request produced by interaction with a first clickable HyperText Markup Language (HTML) element of a web page, the first clickable HTML element corresponding to a first node in a document object model (DOM) tree of the web page;

obtaining an indication that the first clickable HTML element is assigned to a particular label;

identifying a second clickable HTML element of the web page, the second clickable HTML element corresponding to a second node adjacent to the first node in the DOM tree;

observing second data within a second request produced by applying simulated human interaction with the second clickable HTML element;

comparing the second data with the first data;

as a result of the second data matching the first data, assigning the second clickable HTML element to the particular label; and

training a web workflow automation machine learning algorithm using, as input:

properties of the first clickable HTML element and the second clickable HTML element; and the particular label as a ground truth value.

2. The computer-implemented method of claim 1 , wherein:

the computer-implemented method further comprises performing the simulated human interaction with additional clickable HTML elements corresponding to nodes within a threshold distance to nodes in the DOM tree of clickable HTML elements assigned to the particular label; and

training the web workflow automation machine learning algorithm is performed after determining that none of the additional clickable HTML elements produce a request matching the first request.

3. The computer-implemented method of claim 1 , wherein the first request is a HyperText Transfer Protocol (HTTP) request or a client Uniform Resource Locator (cURL) request.

4. The computer-implemented method of claim 1 , wherein assigning the second clickable HTML element to the particular label includes adding a new attribute to the second HTML element with the particular label as an attribute value of the new attribute.

5. A system, comprising:

one or more processors; and

memory including computer-executable instructions that, if executed by the one or more processors, cause the system to:

observe first data within a first request produced by interaction with a first clickable Hypertext Markup Language (HTML) element of a web page, the first clickable HTML element corresponding to a first node in a document object model (DOM) tree of the web page;

obtain an indication the first clickable HTML element is assigned to a particular label;

identify a second clickable HTML element of the web page, the second clickable HTML element corresponding to a second node adjacent to the first node in the DOM tree;

observe second data within a second request generated by performing simulated human interaction with the second clickable HTML element;

compare the first data with the second data;

as a result of the second data matching the first data, assign the second clickable HTML element to the particular label; and

train a web workflow automation machine learning algorithm using, as input:

properties of the first clickable HTML element and the second clickable HTML element; and the particular label as a ground truth value.

6. The system of claim 5 , wherein:

the computer executed instructions further comprise instructions that further cause the system to perform the simulated human interaction with additional clickable HTML elements corresponding to nodes within a threshold distance to nodes in the DOM tree of clickable HTML elements assigned to the particular label; and

the computer-executable instructions that cause the system to train the web workflow automation machine learning algorithm further cause the system to train the web workflow automation machine learning algorithm after a determination that none of the additional clickable HTML elements produce a request matching the first request.

7. The system of claim 5 , wherein the first request is a HyperText Transfer Protocol (HTTP) request or a client Uniform Resource Locator (URL) request.

8. The system of claim 5 , wherein the computer-executable instructions that cause the system to assign the second clickable HTML element to the particular label cause the system to add a new attribute to the second HTML element with the particular label as an attribute value of the new attribute.

9. A non-transitory, computer-readable storage medium storing executable instructions that, if executed by one or more processors of a computer system, cause the computer system to at least:

observe first data within a first request produced by interaction with a first clickable Hypertext Markup Language (HTML) element of a web page, the first clickable HTML element corresponding to a first node in a document object model (DOM) tree of the web page;

obtain an indication the first clickable HTML element is assigned to a particular label;

identify a second clickable HTML element of the web page, the second clickable HTML element corresponding to a second node adjacent to the first node in the DOM tree;

observe second data within a second request generated by performing simulated human interaction with the second clickable HTML element;

compare the first data with the second data;

as a result of the second data matching the first data, assign the second clickable HTML element to the particular label; and

train a web workflow automation machine learning algorithm using, as input:

properties of the first clickable HTML element and the second clickable HTML element; and

the particular label as a ground truth value.

10. The non-transitory, computer-readable storage medium of claim 9 , wherein:

the executing instructions further include instructions that further cause the computer system to perform the simulated human interaction with additional clickable HTML elements corresponding to nodes within a threshold distance to nodes in the DOM tree of clickable HTML elements assigned to the particular label; and

the executable instructions that cause the computer system to train the web workflow automation machine learning algorithm further include instructions that further cause the computer system to train the web workflow automation machine learning algorithm after a determination that none of the additional clickable HTML elements produce a request matching the first request.

11. The non-transitory computer-readable storage medium of claim 9 , wherein the first request is a HyperText Transfer Protocol (HTTP) request or a client Uniform Resource Locator (URL) request.

12. The non-transitory computer-readable storage medium of claim 9 , wherein the executable instructions that cause the computer system to assign the second clickable HTML element to the particular label further include instructions that further cause the computer system to add a new attribute to the second HTML element with the particular label as an attribute value of the new attribute.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2022
From: HOTTI, ALEXANDRA; RISULEO, RICCARDO SVEN; MORADI, AREF; MAGUREANU, STEFAN; LAGERGREN, JENS
To: KLARNA BANK AB
Reel/Frame 061854/0656 →
Cited By (1)
US 12,282,522