IP Library Granted Patent US 11,656,881
Granted Patent B2
US 11,656,881 · App. 17/512,791 · Granted May 23, 2023

Detecting repetitive patterns of user interface actions

Inventors: Nikolay Ryabikin (Nizhniy Novgorod, RU); Vasily Loginov (Moscow, RU); Ruslan Garashchuk (Moscow, RU)
Assignee: ABBYY Development Inc.
G06F9/451G06F3/0481G06F11/3438
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,656,881
App. No.
17/512,791
Granted
May 23, 2023
Kind
B2
Abstract

An example method of detecting repetitive patterns of user interface actions comprises: defining a set of overlapping shingles on a sequence of user interface events; grouping the shingles into a plurality of shingle clusters based on a chosen shingle similarity metric; selecting a shingle cluster having a maximum, among the plurality of shingle clusters, value of a chosen intra-shingle similarity metric; and identifying a repetitive user interface operation represented by the selected shingle cluster.

Claims (54)

1. A method, comprising:

defining, by a processing device, a set of overlapping shingles on a sequence of user interface events;

grouping the shingles into a plurality of shingle clusters based on a chosen shingle similarity metric;

selecting a shingle cluster having a maximum, among the plurality of shingle clusters, value of a chosen intra-cluster shingle similarity metric;

labeling, in the sequence of user interface events, elements covered by shingles of the selected shingle cluster;

defining, on a sequence of user interface events, a second set of overlapping shingles of a predetermined shingle size;

responsive to determining that a value of the chosen shingle similarity metric of a shingle of the second set of overlapping shingles with respect to the selected shingle cluster exceeds a predefined threshold, appending the shingle to the selected shingle cluster; and

identifying a repetitive user interface operation represented by the selected shingle cluster.

2. The method of claim 1 , further comprising:

utilizing the repetitive user interface operation represented by the selected shingle cluster for training a model facilitating user interface automation.

3. The method of claim 1 , further comprising:

labeling, in the sequence of user interface events, elements covered by shingles of the selected shingle cluster;

iteratively repeating the grouping, selecting, and identifying operations on unlabeled elements of the sequence of user interface events.

4. The method of claim 1 , further comprising:

responsive to determining that a cluster combination criterion is satisfied with respect to the selected shingle cluster and a second shingle cluster, combining the selected shingle cluster and the second shingle cluster.

5. The method of claim 1 , further comprising:

responsive to determining that a boundary shift criterion is satisfied with respect to a boundary of the selected shingle cluster and a specified element of the sequence of user interface events, shifting the boundary to the specified element of the sequence of user interface events.

6. The method of claim 1 , wherein the chosen shingle similarity metric is based on similarity of histograms reflecting frequencies of occurrence of n-grams within a first shingle and a second shingle.

7. A system comprising:

a memory; and

a processing device operatively coupled to the memory, the processing device configured to:

define a set of overlapping shingles on a sequence of user interface events;

group the shingles into a plurality of shingle clusters based on a chosen shingle similarity metric;

select a shingle cluster having a maximum, among the plurality of shingle clusters, value of a chosen intra-cluster shingle similarity metric;

label, in the sequence of user interface events, elements covered by shingles of the selected shingle cluster;

define, on a sequence of user interface events, a second set of overlapping shingles of a predetermined shingle size;

responsive to determining that a value of the chosen shingle similarity metric of a shingle of the second set of overlapping shingles with respect to the selected shingle cluster exceeds a predefined threshold, append the shingle to the selected shingle cluster; and

identify a repetitive user interface operation represented by the selected shingle cluster.

8. The system of claim 7 , wherein the processing device is further configured to:

utilize the repetitive user interface operation represented by the selected shingle cluster for training a model facilitating user interface automation.

9. The system of claim 7 , wherein the processing device is further configured to:

label, in the sequence of user interface events, elements covered by shingles of the selected shingle cluster;

iteratively repeat the grouping, selecting, and identifying operations on unlabeled elements of the sequence of user interface events.

10. The system of claim 7 , wherein the processing device is further configured to:

responsive to determining that a cluster combination criterion is satisfied with respect to the selected shingle cluster and a second shingle cluster, combine the selected shingle cluster and the second shingle cluster.

11. The system of claim 7 , wherein the processing device is further configured to:

responsive to determining that a boundary shift criterion is satisfied with respect to a boundary of the selected shingle cluster and a specified element of the sequence of user interface events, shift the boundary to the specified element of the sequence of user interface events.

12. The system of claim 7 , wherein the chosen shingle similarity metric is based on similarity of histograms reflecting frequencies of occurrence of n-grams within a first shingle and a second shingle.

13. A non-transitory computer-readable storage medium including executable instructions that, when executed by a computing system, cause the computing system to:

define, by a processing device, a set of overlapping shingles on a sequence of user interface events;

group the shingles into a plurality of shingle clusters based on a chosen shingle similarity metric;

select a shingle cluster having a maximum, among the plurality of shingle clusters, value of a chosen intra-cluster shingle similarity metric;

label, in the sequence of user interface events, elements covered by shingles of the selected shingle cluster;

define, on a sequence of user interface events, a second set of overlapping shingles of a predetermined shingle size;

responsive to determining that a value of the chosen shingle similarity metric of a shingle of the second set of overlapping shingles with respect to the selected shingle cluster exceeds a predefined threshold, append the shingle to the selected shingle cluster; and

identify a repetitive user interface operation represented by the selected shingle cluster.

14. The non-transitory computer-readable storage medium of claim 13 , further comprising executable instructions that, when executed by the computing system, cause the computing system to:

utilize the repetitive user interface operation represented by the selected shingle cluster for training a model facilitating user interface automation.

15. The non-transitory computer-readable storage medium of claim 13 , further comprising executable instructions that, when executed by the computing system, cause the computing system to:

label, in the sequence of user interface events, elements covered by shingles of the selected shingle cluster;

iteratively repeat the grouping, selecting, and identifying operations on unlabeled elements of the sequence of user interface events.

16. The non-transitory computer-readable storage medium of claim 13 , further comprising executable instructions that, when executed by the computing system, cause the computing system to:

responsive to determining that a cluster combination criterion is satisfied with respect to the selected shingle cluster and a second shingle cluster, combine the selected shingle cluster and the second shingle cluster.

17. The non-transitory computer-readable storage medium of claim 13 , wherein the chosen shingle similarity metric is based on similarity of histograms reflecting frequencies of occurrence of n-grams within a first shingle and a second shingle.

Assignments (2)
SECURITY INTEREST Recorded Aug 14, 2023
From: ABBYY INC.; ABBYY USA SOFTWARE HOUSE INC.; ABBYY DEVELOPMENT INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 064730/0964 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2021
From: RYABIKIN, NIKOLAY; LOGINOV, VASILY; GARASHCHUK, RUSLAN
To: ABBYY DEVELOPMENT INC.
Reel/Frame 057977/0503 →