检测游戏作弊的人工智能方法



我的日常工作是制作一款基于网络浏览器的游戏,这是一款小型游戏,拥有非常少的员工。事实上,我们的大多数员工都是志愿者。

我今天集中在一个方面。我想创建一个人工智能系统,它将分析我们的用户数据库,并报告可能由同一用户运行的账户——这显然违反了我们的条款和条件。这种"欺骗"是我们员工的主要时间消耗,如果我能给他们一个简短的名单让他们先检查一下,我会加快速度的。

问题是,我不太精通人工智能。我了解非常非常基础,但目前还没有成功实施解决方案。我一直在阅读启发式搜索,特别是A*搜索,我"认为"它可能适合我正在寻找的东西,但我不能确定。

所以我的问题是:使用A*搜索,是否有可能准确地分析两个用户帐户数据,如用户名,密码,电子邮件,帐户之间的交互,与其他人之间的交互,登录时间,活动时间等。如果没有,你知道有什么系统可以分析这么多的数据,并给出两个账户可能由同一个人经营的"概率"吗?

至少在很大程度上,这是我的日常工作。从你的问题来看,你似乎在考虑机器学习的学科(而不是更广泛的标题AI)。我认为你的直觉是正确的——机器学习算法非常适合欺诈预测/检测,因为它可以在高度非线性的领域中概括,并且可以适应(当新数据被馈送给它时)。因此,由于这两个主要特征,欺诈者要辨别算法的预测"规则"要困难得多——因为这些规则实际上是一套复杂的网状软约束,随着算法对新数据的学习,这些规则会随着时间的推移而变化。(我建议把A*放在一边,除非你有特别的理由相信寻路对你的问题是一个有用的启发式方法——我不愿意说两者没有联系,但如果有,那肯定是一个非正统的联系——我从未见过寻路应用于这类问题)。

关于您感兴趣的在线欺诈类型,您提到的唯一事实是单个用户的多个帐户。毫无疑问,这里可以应用多种技术,但我将特别提到一种分析技术,因为:(i)我实际上在您提到的场景中使用了它;和(ii)到目前为止,它超出了其他答案的范围。

该技术基于图论

前提:由相同的用户拥有的帐户通常不是通过他们的个人行为(点击流),而是通过他们之间的关系来识别的——换句话说,通过他们的网络行为

示例:在线扑克中的chip-dumping。在这里,一个人在扑克网站上开设了多个新账户(使用虚假信息),然后为每个账户索取广告奖金(例如……)G,存入100美元后会得到100美元的奖金)。当然,奖金有高度限制性的"兑现规则",通常在奖金变成现金并可以作为现金从玩家账户中提取之前,要有一个玩了多少手牌的门槛。

所以抛售股票的目的是把这些奖金变成真正的现金。一个人开了五个独立的账户(作为五个不同的人),然后再开一个"合法"账户(使用他们的真实身份)。这6个玩家——实际上只是一个玩家——将在一个表上相互竞争,5个假账户将很快失去他们的堆栈到合法账户,这很快兑现了他们的奖金,因为当然,奖金的兑现限制只适用于最初给予他们的账户;因此,完全绕过了套现限制。

这类方案的难点在于,非法行为实际上不可能在单个账户的基础上被发现——*不良行为勾结产生于一组共有账户的交互 *——换句话说,利益行为需要在网络层面进行研究。

因此,图论是一个自然的分析框架。

我所应用的技术是基于卡内基梅隆大学Chau等人的一篇学术论文,题为检测在线拍卖商网络中的欺诈人格 (PDF)。

本文的核心欺诈场景是这样的:eBay上的卖家希望将一件非常昂贵的物品(他们可能甚至不拥有,但无论如何,都不打算将其运送给买家)出售给一个愿意购买的买家。为了诱使无辜的买家自愿参与交易,欺诈性卖家首先通过向一群买家"成功"销售物品来获得非常高(人为高)的声誉;这些买家通常是由买家控制的假账户。

更具体地说,本文的作者使用信念传播算法在马尔可夫随机场上组合两个级别(帐户级别和网络级别)的数据。

顺便说一下,签名图结构被称为二部分核心,它产生于一组账户,该组成员之间的交易数量非常高,但该组之外的交易数量很少(即与eBay社区的其他成员)。

如果你可以访问用户的游戏运动日志,你可以使用集群来分组玩"相似"的用户。一旦你有了集群,你就可以使用IP来过滤每个集群中的用户。

另一种方法可能是使用监督学习算法,如决策树,IBK等。但要做到这一点,你需要一个训练集,其中包含你已经知道作弊的用户样本。

你可以使用Weka数据挖掘软件来发现数据中的模式。它有一个直接连接到数据库的选项。它包括聚类、决策树、ibk和许多算法。但是为了解释结果,您需要对每个算法有一个基本的了解。

最新更新