如何检测页面上的随机点击?

机器算法验证 分布 卡方检验 样本
2022-04-13 04:52:54

我的任务是检测机器人是否在网页周围随机点击。我正在考虑将网页拆分为 20 x 20 像素的正方形,然后将每次点击从点击的 x 和 y 坐标分配给一个正方形。然后我可以获取点击样本,并使用卡方来确定点击样本是来自随机分布还是人类分布。你们有什么感想?有没有更聪明的方法来实现点击?

1个回答

我认为您的意图是通过选择具有较小卡方的代理(假设您可以获得预期的人类模式)来将代理识别为人类或随机,本质上将其视为分类问题。如果您将其视为一个,您可能需要考虑这两种错误分类错误的成本。

您的方法可能就足够了(如果您可以获得人类案例的数据),但我有一些评论:

1) 相同大小的点击量不太可能高到可以用卡方拾取任何东西,尤其是在 20x20 上;这表明您需要超过 500 次点击,可能更像是几千次。这是很多点击。

2)如果您改为将其视为假设检验问题,那么您需要

a) 仅当行为与随机点击不一致时才将代理识别为人类。这样做的问题是它默认说你是一个机器人......如果只有几次点击可能会将很多人归类为机器人。

b) 仅当点击行为与人类行为不一致时,即使与随机点击的匹配更好,它们也只表现得好像他们不是人类,那么您只需检查与先前已知的人类模式的一致性 --- 问题是不同的人可能表现出不同的模式

同样,如果这是使用卡方进行的,则样本量可能会成为问题。

3)点击序列中的信息可能有助于更好地确定非随机性。也就是说,我建议您考虑与随机点击相比,人工点击的连续依赖性。

4)也许更容易,您可能会考虑与随机点击相比,连续点击之间的平均距离分布,或点击之间的时间分布(例如,机器人可能会快速点击,或者机器人可能会在与无关的点击之间有时间距离,人类必须将鼠标光标从一个地方移动到另一个地方,因此时间和距离之间可能有独特的关系)。这可能会在相对较小的样本量下出现问题。

[也可能是人类和机器人的点击次数非常不同这可能有用]

5)如果您确实获得了有关人类的数据,您可能会考虑尝试识别一些明显的特征,然后使用这些特征构建一个好的测试统计量以应用于随机案例(即在随机数据中很少发生但经常发生的事情在人类数据中)。

6)如果您确实想要分类路线,并且您有大量的人类数据,则可能有助于进行一些样本拆分以使用一些数据来尝试识别一些比chi更好地区分两者的合适特征方方法。

7)您可能需要考虑贝叶斯方法。