IP Library › Granted Patent US 12,705,491
Granted Patent B2
US 12,705,491 · App. 17/492,341 · Granted Aug 11, 2026

Techniques for cursor trail capture using generative neural networks

Inventors: Samuel Bald (Valley Stream, NY); Siddharth Pramod (Brooklyn, NY)
Assignee: Oracle International Corporation
G06N3/088G06N3/045
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,705,491
App. No.
17/492,341
Filed
Oct 1, 2021
Granted
Aug 11, 2026
Kind
B2
Art Unit
2129
USPC
706/21
Abstract

Disclosed herein are techniques for generating embedded data for cursor-trail data including identifications of sequential positions of a cursor. A method described herein involves obtaining cursor-trail data identifying sequential positions of the cursor. The method further includes using a generative machine learning model to generate an embedding of the cursor-trail data. The generative machine learning model was previously trained using a machine learning model. The training using the machine learning model was unsupervised training including generating embeddings of training cursor-trail data, generating predicted cursor-trail data using a decoder neural network, and comparing the predicted cursor-trail data to the training cursor-trail data to determine a loss function for refining the generative machine learning model.

Claims (58)

1 . A computer implemented method comprising:

obtaining an input comprising a cursor-trail data set including identifications of sequential positions of a cursor, wherein the cursor-trail data set is generated from interactions by an input entity, and wherein the input entity includes a human entity or a non-human entity;

generating, based on the cursor-trail data set, an embedding of the cursor-trail data set using a generative machine learning model, whose training comprises, for each particular training cursor-trail data set of a plurality of training cursor-trail data sets:

generating an embedding of the particular training cursor-trail data set using the particular training cursor-trail data set and the generative machine learning model;

generating a predicted training cursor-trail data set using the embedding of the particular training cursor-trail data set and a decoder model;

comparing the predicted training cursor-trail data set with the particular training cursor-trail data set to generate a loss; and

updating values of a set of training parameters of the generative machine learning model based on the loss, wherein the embedding of the cursor-trail data set preserves characteristics of the cursor-trail data set;

classifying, based on the characteristics of the cursor-trail data set, the embedding of the cursor-trail data set via a classifier configured to predict a probability distribution indicating a likelihood that the embedding is attributed to each cluster of one or more clusters, wherein the one or more clusters are generated during training of the classifier based on the plurality of training cursor-trail data sets;

predicting, based on the probability distribution, a suspiciousness score that corresponds to a probability that the embedding corresponds to a cluster of the one or more clusters, wherein the cluster corresponds to the non-human entity;

generating an updated suspiciousness score by excluding:

a confidence of a largest cluster of the one or more clusters, or

confidences of the one or more clusters having density below a threshold;

outputting, based on the updated suspiciousness score, an action for a web-server to return or block access to requested content associated with the input by the input entity.

2 . The computer implemented method of claim 1 , wherein the generative machine learning model is a variational autoencoder utilizing an encoder model.

3 . The computer implemented method of claim 1 , further comprising obtaining a binary input data set for a binary-state interactive component, the binary input data set relating to sequential binary inputs corresponding to the sequential positions of the cursor.

4 . The computer implemented method of claim 3 , wherein cursor-trail data set and the binary input data set are obtained from a positional input device comprising a positional tracking device and a button.

5 . The computer implemented method of claim 1 , wherein the loss is a squared loss generated by an objective function, the objective function based on differences between the predicted training cursor-trail data set and the particular training cursor-trail data set.

6 . The computer implemented method of claim 1 , wherein the embedding comprises a fixed-length multi-dimensional vector expressing one or more latent dimensions of the sequential positions of the cursor.

7 . The computer implemented method of claim 1 , wherein the cursor-trail data set is a formatted set of sequence data, the formatted set of sequence data generated by processing raw cursor-trail data generated by the cursor according to a bounded time sequence.

8 . An cursor-trail data set embedding system, comprising:

one or more processors; and

a non-transitory memory storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

obtaining an input comprising a cursor-trail data set including identifications of sequential positions of a cursor, wherein the cursor-trail data set is generated from interactions by an input entity, and wherein the input entity includes a human entity or a non-human entity;

generating, based on the cursor-trail data set, an embedding of the cursor-trail data set using a generative machine learning model, wherein the generative machine learning model was trained using a machine learning model, the training comprising, for each particular training cursor-trail data set of a plurality of training cursor-trail data sets:

generating an embedding of the particular training cursor-trail data set using the particular training cursor-trail data set and the generative machine learning model;

generating a predicted training cursor-trail data set using the embedding of the particular training cursor-trail data set and a decoder model;

comparing the predicted training cursor-trail data set with the particular training cursor-trail data set to generate a loss; and

updating values of a set of training parameters of the generative machine learning model based on the loss, wherein the embedding of the cursor-trail data set preserves characteristics of the cursor-trail data set;

classifying, based on the characteristics of the cursor-trail data set, the embedding of the cursor-trail data set via a classifier configured to predict a probability distribution indicating a likelihood that the embedding is attributed to each cluster of one or more clusters, wherein the one or more clusters are generated during training of the classifier based on the plurality of training cursor-trail data sets;

predicting, based on the probability distribution, a suspiciousness score that corresponds to a probability that the embedding corresponds to a cluster of the one or more clusters, wherein the cluster corresponds to the non-human entity;

generating an updated suspiciousness score by excluding:

a confidence of a largest cluster of the one or more clusters, or

confidences of the one or more clusters having density below a threshold;

outputting, based on the updated suspiciousness score, an action for a web-server to return or block access to requested content associated with the input by the input entity.

9 . The system of claim 8 , wherein the generative machine learning model is a variational autoencoder utilizing an encoder model.

10 . The system of claim 8 , the operations further comprising obtaining a binary input data set for a binary-state interactive component, the binary input data set relating to sequential binary inputs corresponding to the sequential positions of the cursor.

11 . The system of claim 10 , wherein cursor-trail data set and the binary input data set are obtained from a positional input device comprising a positional tracking device and a button.

12 . The system of claim 8 , wherein the loss is a squared loss generated by an objective function, the objective function based on differences between the predicted training cursor-trail data set and the particular training cursor-trail data set.

13 . The system of claim 8 , wherein the embedding comprises a fixed-length multi-dimensional vector expressing one or more latent dimensions of the sequential positions of the cursor.

14 . The system of claim 8 , wherein the cursor-trail data set is a formatted set of sequence data, the formatted set of sequence data generated by processing raw cursor-trail data generated by the cursor according to a bounded time sequence.

15 . A computer-program product, the computer-program product comprising a computer-readable storage medium having program instructions embodied thereon, the program instructions executable by one or more processors to cause the one or more processors to perform operations comprising:

obtaining an input comprising a cursor-trail data set including identifications of sequential positions of a cursor, wherein the cursor-trail data set is generated from interactions by an input entity, and wherein the input entity includes a human entity or a non-human entity;

generating, based on the cursor-trail data set, an embedding of the cursor-trail data set using a generative machine learning model, whose training comprises, for each particular training cursor-trail data set of a plurality of training cursor-trail data sets:

generating an embedding of the particular training cursor-trail data set using the particular training cursor-trail data set and the generative machine learning model;

generating a predicted training cursor-trail data set using the embedding of the particular training cursor-trail data set and a decoder model;

comparing the predicted training cursor-trail data set with the particular training cursor-trail data set to generate a loss; and

updating values of a set of training parameters of the generative machine learning model based on the loss, wherein the embedding of the cursor-trail data set preserves characteristics of the cursor-trail data set;

classifying, based on the characteristics of the cursor-trail data set, the embedding of the cursor-trail data set via a classifier configured to predict a probability distribution indicating a likelihood that the embedding is attributed to each cluster of one or more clusters, wherein the one or more clusters are generated during training of the classifier based on the plurality of training cursor-trail data sets;

predicting, based on the probability distribution, a suspiciousness score that corresponds to a probability that the embedding corresponds to a cluster of the one or more clusters, wherein the cluster corresponds to the non-human entity;

generating an updated suspiciousness score by excluding:

a confidence of a largest cluster of the one or more clusters, or

confidences of the one or more clusters having density below a threshold;

outputting, based on the updated suspiciousness score, an action for a web-server to return or block access to requested content associated with the input by the input entity.

16 . The computer-readable storage medium having program instructions embodied thereon of claim 15 , wherein the generative machine learning model is a variational autoencoder utilizing an encoder model.

17 . The computer-readable storage medium having program instructions embodied thereon of claim 15 , the operations further comprising obtaining a binary input data set for a binary-state interactive component, the binary input data set relating to sequential binary inputs corresponding to the sequential positions of the cursor.

18 . The computer-readable storage medium having program instructions embodied thereon of claim 17 , wherein cursor-trail data set and the binary input data set are obtained from a positional input device comprising a positional tracking device and a button.

19 . The computer-readable storage medium having program instructions embodied thereon of claim 15 , wherein the loss is a squared loss generated by an objective function, the objective function based on differences between the predicted training cursor-trail data set and the particular training cursor-trail data set.

20 . The computer-readable storage medium having program instructions embodied thereon of claim 15 , wherein the embedding comprises a fixed-length multi-dimensional vector expressing one or more latent dimensions of the sequential positions of the cursor.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2021
From: BALD, SAMUEL; PRAMOD, SIDDHARTH
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 057690/0078 →
Continuity (1)
Related Publication 20230109260A1 · Apr 6, 2023
References Cited (35)
US 7657626B1 · Zwicky · 2010 [cited by applicant]
US 20090024461A1 · Willner et al. · 2009 [cited by applicant]
US 20190304104A1 · Amer · 2019 [cited by examiner]
US 20190373000A1 · Garnett et al. · 2019 [cited by applicant]
US 20200267057A1 · Garvey · 2020 [cited by examiner]
US 20210165506A1 · Klein · 2021 [cited by examiner]
EP 3614645A1 · 2020 [cited by applicant]
WO 2016156513A1 · 2016 [cited by applicant]
WO 2020050920A1 · 2020 [cited by applicant]
“Generative Model with Semantic Embedding and Integrated Classifier for Generalized Zero-Shot Learning,” Pambala et al; Pambala (Year: 2020). [cited by examiner]
“Vectors,” Wikipedia (Year: 2024). [cited by examiner]
“SapiAgent: A Bot Based on Deep Learning to Generate Human-Like Mouse Trajectories,” Digital Object Identifier 10.1109/ACCESS.2021.3111098, Antal et al; Antal (Year: 2021). [cited by examiner]
“SapiAgent: A Bot Based on Deep Learning to Generate Human-Like Mouse Trajectories,” Antal et al; Antal (Year: 2021). [cited by examiner]
“Intent-based Deep Behavioral Analysis: A Proprietary Bot Detection Technology”, Radware, Available Online at: https://www.radware.com/WorkArea/DownloadAsset.aspx?ID=23b65631-1453-4949-ab49-d37b580a4c3b, Mar. 2019, 7 pa… [cited by applicant]
“Stop Digital Ad Fraud Eliminate Non-Human Ad Impressions and Improve Quality of Traffic”, Radware, Shield Square, Available Online at: https://www.shieldsquare.com/prevent-digital-ad-fraud/, Accessed from Internet on N… [cited by applicant]
Dash et al., “Auto-Detection of Click-Frauds using Machine Learning”, Indonesian Journal of Educational Science (IJES), Available Online at: https://ijesc.org/upload/c85b77baa8fb8e66d83d5a80fd11a744.Auto-Detection%20of%… [cited by applicant]
Gabryel, “Data Analysis Algorithm for Click Fraud Recognition”, International Conference on Information and Software Technologies, Available Online at https://www.researchgate.net/publication/327266122_Data_Analysis_Alg… [cited by applicant]
Iqbal et al., “FCFraud: Fighting Click-Fraud from the User Side”, IEEE 17th International Symposium on High Assurance Systems Engineering (HASE), Available Online at: https://shahrear.github.io/files/papers/iqbal_clickf… [cited by applicant]
Safruti , “Bot Attacks Have Become Stealthier and More Dangerous”, Perimeter, Available Online at: https://www.perimeterx.com/resources/blog/2017/invisible-invaders/, Jun. 19, 2017, 8 pages. [cited by applicant]
Weng, “Attention? Attention!”, Available online at https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html#self-attention, Jun. 24, 2018, 25 pages. [cited by applicant]
Ha et al., “A neural representation of sketch drawings.” arXiv preprint arXiv:1704.03477 (2017). [cited by applicant]
Hochreiter et al., “Long short-term memory.” Neural computation 9.8 (1997): 1735-1780. [cited by applicant]
Mcinnes et al. “Umap: Uniform manifold approximation and projection for dimension reduction.” arXiv preprint arXiv:1802.03426 (2018). [cited by applicant]
Kingma et al. “Auto-encoding variational bayes.” arXiv preprint arXiv:1312.6114 (2013). [cited by applicant]
Bishop “Mixture density networks”, Neural Computing Research Group Report: NCRG/94/0041, Available from: http://www.ncrg.aston.ac.uk/ Feb. 1994, 26 pages. [cited by applicant]
“UI Events”, Available Online at https://www.w3.org/TR/uievents/#events-mouseevents, Accessed from Internet on Dec. 13, 2021, 115 pages. [cited by applicant]
Ha et al., “Draw Together with a Neural Network”, Available Online at https://magenta.tensorflow.org/sketch-rnn-demo, Accessed from Internet on Dec. 1, 2021, 5 pages. [cited by applicant]
Kim et al., Botnet Detection Using Recurrent Variational Autoencoder, IEEE, Apr. 1, 2020, 8 pages. [cited by applicant]
International Application No. PCT/US2022/021257, International Search Report and Written Opinion mailed on Aug. 4, 2022, 11 pages. [cited by applicant]
International Preliminary Report on Patentability for PCT Patent Application No. PCT/US2022/021257, dated Apr. 11, 2024. [cited by applicant]
Acien et al., “BeCAPTCHA: Behavioral Bot Detection using Touchscreen and Mobile Sensors benchmarked on HuMIdb”, arXiv:2005.13655v2, https://doi.org/10.48550/arXiv.2005.13655, May 2020, Cornell University.School of Engin… [cited by applicant]
Non-Final Office Action for U.S. Appl. No. 17/690,953 notified Sep. 30, 2025. [cited by applicant]
Vaswani et al. “Attention Is All You Need”, https://arxiv.org/abs/1706.03762v7, https://doi.org/10.48550/arXiv.1706.03762, 2017, last revised Aug. 2023, Cornell University. [cited by applicant]
Wikipedia: “Variational autoencoder”, 2025, https://en.wikipedia.org/wiki/Variational_autoencoder, This page was last edited on Aug. 27, 2025, at 16:21 (UTC). [cited by applicant]
Notice of Allowance for European Patent Application No. 22715880.5, dated Jun. 20, 2025. [cited by applicant]