IP Library › Granted Patent US 12,725,008
Granted Patent B2
US 12,725,008 · App. 17/690,953 · Granted Sep 1, 2026

Techniques for input classification and response using generative neural networks

Inventors: Siddharth Pramod (Brooklyn, NY); Samuel Bald (Valley Stream, NY)
Assignee: Oracle International Corporation
G06N3/045G06N3/044G06N3/08
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,725,008
App. No.
17/690,953
Granted
Sep 1, 2026
Kind
B2
Abstract

Disclosed herein are techniques for detecting invalid web traffic. A method described herein involves obtaining an input sequence. The method further includes inputting the input sequence to an encoder model configured to generate an embedding from the input sequence. The method includes generating, as an output of the encoder model, an embedding. The method includes inputting the embedding to a classifier model configured to predict a vector of probability values corresponding to a plurality of classes using the embedding. A first class of the plurality of classes may be attributed to variable traffic and a second class of the plurality of classes may be attributed to repetitive traffic. The method includes predicting, as an output of the classifier, the vector of probability values. The method includes determining a machine-actor score from the vector of probability values. The method also includes outputting the machine-actor score.

Claims (84)

1 . A method of detecting automated web traffic, the method comprising:

obtaining interaction data generated as part of a plurality of historical interactions with a plurality of graphical user interface elements to cause a computer application to provide one or more services as a result of application interaction during a plurality of user sessions with the computer application;

formatting the interaction data into a plurality of formatted sequences comprising bounded sequences of interaction events over time that can be processed by a neural network;

generating and storing a plurality of clusters of embeddings comprising embeddings of the plurality of formatted sequences with the plurality of graphical user interface elements during the plurality of user sessions with the computer application;

for each cluster of the plurality of clusters of embeddings, determining a density of embedding values within the cluster; wherein a particular cluster has a particular density of embedding values that is higher than one or more other clusters of the plurality of clusters;

obtaining particular interaction data generated as part of a particular interaction with a particular graphical user interface element to cause the computer application to provide one or more services as a result of application interaction during a particular user session with the computer application;

formatting the particular interaction data into a particular formatted sequence comprising a particular bounded sequence of interaction events over time that can be processed by a neural network;

inputting the particular formatted sequence to an encoder model to generate a particular embedding;

inputting the particular embedding to a classifier model to assign the particular embedding to the particular cluster of the plurality of clusters of embeddings;

based at least in part on the particular density of the particular cluster, determining a machine-actor score for the particular interaction, wherein the machine-actor score corresponds to a prediction that the particular interaction is invalid was machine-generated; and

storing the machine-actor score in association with the particular user session; and

based at least in part on the machine-actor score, outputting information indicating the particular user session is flagged as having machine-generated input.

2 . The method of claim 1 , wherein the encoder model is trained as part of an autoencoder comprising the encoder model and a decoder model, and wherein the encoder model comprises a recurrent neural network comprising a plurality of gradient recurrent unit cells or long short term memory cells.

3 . The method of claim 2 , wherein the autoencoder is a variational autoencoder configured to learn to output embeddings by sampling from a Gaussian probability distribution, parameters of which are learned and outputted by the encoder model.

4 . The method of claim 1 , wherein the encoder model is a deep learning transformer model comprising a transformer encoder and a transformer decoder, the transformer encoder configured to transform the formatted sequences into a sequence of intermediate outputs and the transformer decoder configured to decode the intermediate outputs into an output sequence of embeddings.

5 . The method of claim 1 , wherein the generating and storing the plurality of clusters comprises using a clustering model separate from the classifier model, the method further comprising:

training the classifier model to learn embedding cluster membership probabilities using the embeddings as input features and their corresponding cluster labels from the clustering as labels, to form a trained classifier model;

wherein inputting the particular embedding to a classifier model comprises inputting the particular embedding into the trained classifier model.

6 . The method of claim 1 , wherein determining the machine-actor score comprises:

identifying a first value of a vector of probability values attributable to a first class;

identifying a second value of the vector of probability values attributable to a second class, the second value being a largest value of the vector of probability values other than the first value; and

predicting the machine-actor score based at least in part on the second value.

7 . The method of claim 6 , wherein identifying the first value comprises:

evaluating a plurality of variance values for a plurality of clusters generated by the classifier model; and

attributing a cluster having a largest variance value of the plurality of variance values to the first class.

8 . The method of claim 1 , further comprising:

generating a visualization of interaction inputs in embedding space as a two-dimensional projection or a three-dimensional projection with annotations; and

causing display of the visualization on a user interface that includes options for monitoring and acting upon flagged user sessions.

9 . The method of claim 1 , wherein the bounded sequence of interaction events comprises a sequence of positional and time deltas generated by differences in positional and temporal elements of an input, respectively, over a period of time.

10 . The method of claim 9 , wherein the bounded sequence further comprises mouse click data corresponding to a sequence of mouse clicks over the period of time.

11 . The method of claim 1 , wherein a first class of a plurality of classes is attributed to human traffic and a second class of the plurality of classes is attributed to bot traffic.

12 . The method of claim 1 , wherein a collection period for the obtaining the particular interaction data is ongoing during the particular user session; wherein each of the plurality of historical interactions with the plurality of graphical user interface elements comprise interactions with a first graphical user interface element and one or more additional graphical user interface elements of the computer application, and wherein the particular interaction with the particular graphical user interface element comprises an interaction with the particular graphical user interface element and one or more additional graphical user interface elements of the computer application.

13 . An automated web traffic detection system, comprising:

one or more processors;

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 interaction data generated as part of a plurality of historical interactions with a plurality of graphical user interface elements to cause a computer application to provide one or more services as a result of application interaction during a plurality of user sessions with the computer application;

formatting the interaction data into a plurality of formatted sequences comprising bounded sequences of interaction events over time that can be processed by a neural network;

generating and storing a plurality of clusters of embeddings comprising embeddings of the plurality of formatted sequences with the plurality of graphical user interface elements during the plurality of user sessions with the computer application;

for each cluster of the plurality of clusters of embeddings, determining a density of embedding values within the cluster; wherein a particular cluster has a particular density of embedding values that is higher than one or more other clusters of the plurality of clusters;

obtaining particular interaction data generated as part of a particular interaction with a particular graphical user interface element to cause the computer application to provide one or more services as a result of application interaction during a particular user session with the computer application;

formatting the particular interaction data into a particular formatted sequence comprising a particular bounded sequence of interaction events over time that can be processed by a neural network;

inputting the particular formatted sequence to an encoder model configured to generate a particular embedding;

generating, as an output of the encoder model, the particular embedding;

inputting the particular embedding to a classifier model configured to assign the particular embedding to the particular cluster of the plurality of clusters of embeddings;

based at least in part on the particular density of the particular cluster, determining a machine-actor score for the particular interaction, wherein the machine-actor score corresponds to a prediction that the particular interaction was machine-generated; and

storing the machine-actor score in association with the particular user session; and

based at least in part on the machine-actor score, outputting information indicating the particular user session is flagged as having machine-generated input.

14 . The system of claim 13 , wherein the encoder model is trained as part of an autoencoder comprising the encoder model and a decoder model, and wherein the encoder model comprises a recurrent neural network comprising a plurality of gradient recurrent unit cells or long short term memory cells.

15 . The system of claim 13 , wherein the generating and storing the plurality of clusters comprises using a clustering model separate from the classifier model, the operations further comprising:

training the classifier model using plurality of clusters of embeddings to form a trained classifier model;

wherein inputting the embedding to a classifier model comprises inputting the particular embedding into the trained classifier model.

16 . The system of claim 13 , wherein determining the machine-actor score comprises:

identifying a first value of a vector of probability values attributable to a first class;

identifying a second value of the vector of probability values attributable to a second class, the second value being a largest value of the vector of probability values other than the first value; and

predicting the machine-actor score based at least in part on the second value.

17 . The system of claim 16 , wherein identifying the first value comprises:

evaluating a plurality of variance values for a plurality of clusters generated by the classifier model; and

attributing a cluster having a largest variance value of the plurality of variance values to a first class of a plurality of classes.

18 . The system of claim 13 , wherein the computer-executable instructions, when executed by the one or more processors, further cause the one or more processors to perform operations comprising:

generating a visualization of interaction inputs in embedding space as a two-dimensional projection or a three-dimensional projection with annotations; and

causing display of the visualization on a user interface that includes options for monitoring and acting upon flagged user sessions.

19 . The system of claim 13 , wherein the bounded sequence of interaction events comprises a sequence of positional and time deltas generated by differences in positional elements of an input over a period of time.

20 . The system of claim 13 , wherein a collection period for the obtaining the particular interaction data is ongoing during the particular user session; wherein each of the plurality of historical interactions with the plurality of graphical user interface elements comprise interactions with a first graphical user interface element and one or more additional graphical user interface elements of the computer application, and wherein the particular interaction with the particular graphical user interface element comprises an interaction with the particular graphical user interface element and one or more additional graphical user interface elements of the computer application.

21 . 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 interaction data generated as part of a plurality of historical interactions with a plurality of graphical user interface elements to cause a computer application to provide one or more services as a result of application interaction during a plurality of user sessions with the computer application;

formatting the interaction data into a plurality of formatted sequences comprising bounded sequences of interaction events over time that can be processed by a neural network;

generating and storing a plurality of clusters of embeddings comprising embeddings of the plurality of formatted sequences with the plurality of graphical user interface elements during the plurality of user sessions with the computer application;

for each cluster of the plurality of clusters of embeddings, determining a density of embedding values within the cluster; wherein a particular cluster has a particular density of embedding values that is higher than one or more other clusters of the plurality of clusters;

obtaining particular interaction data generated as part of a particular interaction with a particular graphical user interface element to cause the computer application to provide one or more services as a result of application interaction during a particular user session with the computer application;

formatting the particular interaction data into a particular formatted sequence comprising a particular bounded sequence of interaction events over time that can be processed by a neural network;

inputting the particular formatted sequence to an encoder model configured to generate a particular embedding;

generating, as an output of the encoder model, the particular embedding;

inputting the particular embedding to a classifier model configured to assign the particular embedding to the particular cluster of the plurality of clusters of embeddings;

based at least in part on the particular density of the particular cluster, determining a machine-actor score for the particular interaction, wherein the machine-actor score corresponds to a prediction that the particular interaction was machine-generated; and

storing the machine-actor score in association with the particular user session; and

based at least in part on the machine-actor score, outputting information indicating the particular user session is flagged as having machine-generated input. obtaining interaction data generated as part of a user interacting with a computer application;

formatting the interaction data as a bounded sequence of interaction events over time that can be modeled by a neural network to form formatted sequences;

inputting the formatted sequences to an encoder model configured to generate an embedding from the bounded sequence;

generating, as an output of the encoder model, an embedding;

inputting the embedding to a classifier model configured to predict a vector of probability values corresponding to a plurality of classes using the embedding;

predicting, as an output of the classifier model, the vector of probability values;

determining a machine-actor score for the interaction from the vector of probability values; and

outputting the machine-actor score.

22 . The computer-program product of claim 21 , wherein a collection period for the obtaining the particular interaction data is ongoing during the particular user session; wherein each of the plurality of historical interactions with the plurality of graphical user interface elements comprise interactions with a first graphical user interface element and one or more additional graphical user interface elements of the computer application, and wherein the particular interaction with the particular graphical user interface element comprises an interaction with the particular graphical user interface element and one or more additional graphical user interface elements of the computer application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2022
From: PRAMOD, SIDDHARTH; BALD, SAMUEL
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 059230/0802 →
Continuity (2)
Continuation In Part 17492341 · Oct 1, 2021
Related Publication 20230104757A1 · Apr 6, 2023
References Cited (33)
US 7657626B1 · Zwicky · 2010 [cited by applicant]
US 20090024461A1 · Willner et al. · 2009 [cited by applicant]
US 20190373000A1 · Garnett et al. · 2019 [cited by applicant]
US 20200267057A1 · Garvey · 2020 [cited by examiner]
US 20220150262A1 · Hittel et al. · 2022 [cited by applicant]
US 20250061485A1 · Taylor et al. · 2025 [cited by applicant]
EP 3614645A1 · 2020 [cited by applicant]
JP 2019532388A · 2019 [cited by applicant]
JP 2021522622A · 2021 [cited by applicant]
WO 2016156513 · 2016 [cited by applicant]
WO 2020050920A1 · 2020 [cited by applicant]
“Attention Is All You Need,” arXIv, 2017, Vaswani et al; Vaswani (Year: 2017). [cited by examiner]
“Variational Autoencoder,” Wikipedia, 2025 (Year: 2025). [cited by examiner]
“SapiAgent: A Bot Based On Deep Learning to Generate Human-like Mouse Trajectories,” IEEE, Antal et al; Antal (Year: 2021). [cited by examiner]
“BeCAPTCHA: Behavioral Bot Detection using Touchscreen and Mobile Sensors benchmarked on HuMIdb,” School of Engineering, Universidad Autonoma de Madrid, Spain, Acien et al; Acien (Year: 2020). [cited by examiner]
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]
Notice of Allowance for European Patent Application No. 22715880.5, dated Jun. 20, 2025. [cited by applicant]
International Preliminary Report on Patentability for PCT Patent Application No. PCT/US2022/021257, dated Apr. 11, 2024. [cited by applicant]
“Intent-based Deep Behavioral Analysis: A Proprietary Bot Detection Technology”, [cited by applicant]
“Stop Digital Ad Fraud Eliminate Non-Human Ad Impressions and Improve Quality of Traffic”, [cited by applicant]
“Ul Events”, [cited by applicant]
Bishop, “Mixture Density Networks, Neural Computing Research Group Report”, [cited by applicant]
Dash et al., “Auto-Detection of Click-Frauds using Machine Learning”, [cited by applicant]
Gabryel, “Data Analysis Algorithm for Click Fraud Recognition”, [cited by applicant]
Ha et al., “A Neural Representation of Sketch Drawings”, [cited by applicant]
Ha et al., “Draw Together with a Neural Network”, [cited by applicant]
Hochreiter et al., “Long Short-Term Memory”, [cited by applicant]
Iqbal et al., “FCFraud: Fighting Click-Fraud from the User Side”, [cited by applicant]
Kingma et al., “Auto-encoding Variational Bayes”, [cited by applicant]
Mcinnes et al., “UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction”, arXiv: 1802.03426, Available Online at: https://arxiv.org/pdf/1802.03426.pdf, Sep. 21, 2020, 63 pages. [cited by applicant]
Safruti, “Bot Attacks Have Become Stealthier and More Dangerous”, [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]