HUMAN OR BOT ACTIVITY DETECTION
Systems, methods, apparatuses, and computer program products for human or bot activity detection. The method may include, collecting time-series data on one or more events occurring on a webpage. The method may also include deriving classifications of the one or more events. The method may further include performing functional transformations of the time-series data. In addition, the method may include determining potential features of the one or more events based on a combination of the classifications of the one or more events, and results of the functional transformation. Further, the method may include training a machine learning model with the potential features. The method may also include determining, via the machine learning model, bot behavior and non-bot behavior of the one or more events.
1 . An apparatus, comprising:
at least one processor; and
at least one memory comprising computer program code,
the at least one memory and the computer program code are configured, with the at least one processor, to cause the apparatus at least to
collect time-series data on one or more events occurring on a webpage;
derive classifications of the one or more events to generate labeled data to train a machine learning model, wherein the labeled data comprises a first subset of the one or more events labeled as bot traffic and a second subset of the one or more events labeled as human traffic;
perform functional transformations of the time-series data;
determine potential features of the one or more events based on a combination of the labeled data, and results of the functional transformation, wherein the results of the functional transformation comprise numeric data or categorical data;
train the machine learning model with the potential features; and
determine, via the machine learning model, bot behavior and non-bot behavior of the one or more events.
2 . The apparatus according to claim 1 , wherein the at least one memory and the computer program code are further configured, with the at least one processor, to cause the apparatus at least to:
receive an array of the one or more events and timing between each of the one or more events; and
determine, with the machine learning model based on the array, existence of bot behavior or non-bot behavior.
3 . The apparatus according to claim 1 , wherein the functional transformations comprises the at least one memory and the computer program code being further configured, with the at least one processor, to cause the apparatus at least to:
determine whether the one or more events comprises numeric data or categorical data; and
perform a mean transformation or a count transformation based on the determination.
4 . The apparatus according to claim 3 ,
wherein the mean transformation comprises performing a mean of a time between keystrokes operations in the webpage, and
wherein the count transformation comprises counting a number of mouse movements performed in the webpage out of a total number of events performed in the webpage.
5 . The apparatus according to claim 1 , wherein the at least one memory and the computer program code are further configured, with the at least one processor, to cause the apparatus at least to:
apply a validation logic to the one or more events and the machine learning model.
6 . A method, comprising:
collecting time-series data on one or more events occurring on a webpage;
deriving classifications of the one or more events to generate labeled data to train a machine learning model, wherein the labeled data comprises a first subset of the one or more events labeled as bot traffic and a second subset of the one or more events labeled as human traffic;
performing functional transformations of the time-series data;
determining potential features of the one or more events based on a combination of the labeled data, and results of the functional transformation, wherein the results of the functional transformation comprise numeric data or categorical data;
training the machine learning model with the potential features; and
determining, via the machine learning model, bot behavior and non-bot behavior of the one or more events.
7 . The method according to claim 6 , further comprising:
receiving an array of the one or more events and timing between each of the one or more events; and
determining, with the machine learning model based on the array, existence of bot behavior or non-bot behavior.
8 . The method according to claim 6 , further comprising:
determining whether the one or more events comprises numeric data or categorical data; and
performing a mean transformation or a count transformation based on the determination.
9 . The method according to claim 8 ,
wherein the mean transformation comprises performing a mean of a time between keystrokes operations in the webpage, and
wherein the count transformation comprises counting a number of mouse movements performed in the webpage out of a total number of events performed in the webpage.
10 . The method according to claim 6 , further comprising:
applying a validation logic to the one or more events and the machine learning model.
11 . A computer program, embodied on a non-transitory computer readable medium, the computer program comprising computer executable code, which, when executed by a processor, causes the processor to:
collect time-series data on one or more events occurring on a webpage;
derive classifications of the one or more events to generate labeled data to train a machine learning model, wherein the labeled data comprises a first subset of the one or more events labeled as bot traffic and a second subset of the one or more events labeled as human traffic;
perform functional transformations of the time-series data;
determine potential features of the one or more events based on a combination of the labeled data, and results of the functional transformation, wherein the results of the functional transformation comprise numeric data or categorical data;
train the machine learning model with the potential features; and
determine, via the machine learning model, bot behavior and non-bot behavior of the one or more events.
12 . The computer program according to claim 11 , wherein the processor is further caused to:
receive an array of the one or more events and timing between each of the one or more events; and
determine, with the machine learning model based on the array, existence of bot behavior or non-bot behavior.
13 . The computer program according to claim 11 , wherein the functional transformations comprises causing the processor to:
determine whether the one or more events comprises numeric data or categorical data; and
perform a mean transformation or a count transformation based on the determination.
14 . The computer program according to claim 13 ,
wherein the mean transformation comprises performing a mean of a time between keystrokes operations in the webpage, and
wherein the count transformation comprises counting a number of mouse movements performed in the webpage out of a total number of events performed in the webpage.
15 . The computer program according to claim 11 , wherein the processor is further caused to:
apply a validation logic to the one or more events and the machine learning model.