交易检测方法、装置,存储介质和电子装置与流程

文档序号:15448874发布日期:2018-09-14 23:42阅读:136来源:国知局

本发明涉及游戏领域,具体而言,涉及一种交易检测方法、装置,存储介质和电子装置。



背景技术:

目前在大多数大型多人在线角色扮演游戏(massivemultiplayeronlineroleplayinggame,简称mmorpg)中会存在玩家之间的交易,但凡涉及到交易的场景中,都会存在异常交易的问题,在游戏中也不例外。游戏中的异常交易可以定义为:交易的价格过分的低于或者高于装备的真实价值,这样将会严重的损害游戏的经济交易系统。同时,更重要的是游戏中很多外挂为了防止不被检测到,将外挂得到的收益通过交易的途径进行转移,因此进行游戏的异常交易检测还有助于发现和杜绝游戏中的外挂现象。

相关技术中判断游戏的异常交易的方案主要有两种:第一种:基于一些有经验的游戏运营的历史经验和知识进行人工判断,往往是通过人眼观察装备的描述图判断这个装备的价值,如果判断出的装备的价值和交易的价格偏差比较大,那么判定为异常交易;第二种:基于一定的游戏装备的规则,这些游戏规则也是有游戏经验的人总结出来的,可以简单的得到有价值的装备,比如装备的修饰词数量、装备的颜色等等,通过一定的规则判断这个装备的价值,然后再进行异常交易判断。而对于第一种方案,通过人工判断,效率十分的低下,并且游戏中的交易发生的十分频繁,如果全都通过人工进行判断,那么人力成本将非常的高,同时这个判断主观性比较强,需要一定的游戏经验和知识的积累;对于第二种方案,基于一定的游戏规则可以解放一定的人力,但是游戏中的装备各种各样,很难通过规则将所有的装备描述清楚,因此通过游戏规则的方式进行装备价格的判断,准确率太低,判断效果差。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种交易检测方法、装置,存储介质和电子装置,以至少解决相关技术中游戏中异常交易的检测的效率低的技术问题。

根据本发明实施例的一个方面,提供了一种交易检测方法,包括:提取待测虚拟产品的属性信息;将提取的属性信息输入到已训练的虚拟产品估值模型中,输出待测虚拟产品的价格估计值;根据价格估计值和待测虚拟产品的交易价格确定对待测虚拟产品的交易是否为异常交易。

根据本发明实施例的一个方面,提供了一种交易检测方法,包括:提取待测虚拟产品的指定信息,其中,指定信息包括:待测虚拟产品的属性信息和待测虚拟产品的交易价格;将提取的指定信息输入到已训练的交易检测模型中,输出待测虚拟产品的交易检测结果;其中,交易检测结果包括以下之一:交易待测虚拟产品的交易为异常交易,交易待测虚拟产品的交易为正常交易。

根据本发明实施例的一个方面,提供了一种交易检测装置,包括:提取模块,用于提取待测虚拟产品的属性信息;输出模块,用于将提取的属性信息输入到已训练的虚拟产品估值模型中,输出待测虚拟产品的价格估计值;确定模块,用于根据价格估计值和待测虚拟产品的交易价格确定对待测虚拟产品的交易是否为异常交易。

根据本发明实施例的一个方面,提供了一种交易检测装置,包括:提取模块,用于提取待测虚拟产品的指定信息,其中,指定信息包括:待测虚拟产品的属性信息和待测虚拟产品的交易价格;输出模块,用于将提取的指定信息输入到已训练的交易检测模型中,输出待测虚拟产品的交易检测结果;其中,交易检测结果包括以下之一:交易待测虚拟产品的交易为异常交易,交易待测虚拟产品的交易为正常交易。

根据本发明实施例的一个方面,提供了一种存储介质,存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中所述的方法。

根据本发明实施例的一个方面,提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中所述的方法。

在本发明实施例中,采用将待测虚拟产品的属性信息输入到已训练的虚拟产品估值模型中直接到该待测虚拟产品的价格估计值,进而确定对于该待测虚拟产品的交易是否为异常交易,或者直接将待测虚拟产品的指定信息输入到已训练的交易检测模型中直接输出对该待测虚拟产品的交易是否为异常交易的方式,即通过训练好的虚拟产品估值模型或交易检测模型来对待测虚拟产品的交易进行检测,省掉了大量的人工的参与,释放了人力,因而提高了检测的效率,进而解决了相关技术中游戏中异常交易的检测的效率低的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的一种交易检测方法的移动终端的硬件结构框图;

图2是根据本发明实施例的交易检测方法的流程示意图一;

图3是根据本发明实施例的交易检测方法的流程示意图二;

图4是根据本发明优选实施例提供的游戏一场交易检测的流程设计的示意图;

图5是根据本发明优选实施例提供的通过该模型训练出来的效果图;

图6是根据本发明实施例提供的交易检测装置的结构示意图一;

图7是根据本发明实施例提供的交易检测装置的结构示意图二。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本发明实施例,提供了一种交易检测的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

需要说明的是,该交易检测方法可以应用于游戏场景中对于虚拟产品的交易场景,比如买卖游戏装备,游戏道具等等的场景,也可以不是游戏场景中的交易场景比如计算机软件,电子书等的交易,但并不限于此。

本发明实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种交易检测方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的交易检测方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种运行于上述移动终端的交易检测方法,图2是根据本发明实施例的交易检测方法的流程示意图一,如图2所示,该方法包括如下步骤:

步骤s202,提取待测虚拟产品的属性信息;

步骤s204,将提取的所述属性信息输入到已训练的虚拟产品估值模型中,输出所述待测虚拟产品的价格估计值;

步骤s206,根据所述价格估计值和所述待测虚拟产品的交易价格确定对所述待测虚拟产品的交易是否为异常交易。

通过上述步骤,采用将待测虚拟产品的属性信息输入到已训练的虚拟产品估值模型中直接到该待测虚拟产品的价格估计值,进而确定对于该待测虚拟产品的交易是否为异常交易的方式,即通过训练好的虚拟产品估值模型对待测虚拟产品的价值进行估算,进而确定出该待测交易产品的交易是否为异常,省掉了大量的人工的参与,释放了人力,因而提高了检测的效率,进而解决了相关技术中游戏中异常交易的检测的效率低的技术问题。

另外,需要说明的是,上述步骤通过模型进行待测虚拟产品的价格的估计,其比一般的基于一定的游戏规则对待测虚拟产品的价格的估计更加准确,因而交易检测的准确率更高。

需要说明的是,待测虚拟产品可以是游戏场景中的装备(比如武器,腰带,衣服,戒指等等),道具等,也可以是新闻,电子书籍,计算机软件等等,但并不限于此。

需要说明的是,以上述待测虚拟产品为游戏场景中的装备为例,上述属性信息可以包括基本属性和专有属性,其中,基本属性可以包括最大最小攻击,速度,命中等,但并不限于此,上述专有属性也可以称为额外的修饰词,比如聪慧,精准,根骨,格挡等,但并不限于此,由于装备的多样性和随机性,因而额外的修饰词采用one-hot编码的方式进行处理。

需要说明的是,上述步骤s206可以表现为:在所述价格估计值和所述交易价格之间的差值的绝对值小于或等于预定阈值的情况下,确定所述交易为正常交易;在所述价格估计值和所述交易价格之间的差值的绝对值大于所述预定阈值的情况下,确定所述交易为异常交易。

需要说明的是,上述预定阈值可以预先设置,该预定阈值可以是一个经验值,但并不限于此。

需要说明的是,由于预测虚拟产品可以为多个不同的产品模板,以预测虚拟产品为例,可以分为:武器、腰带、衣服、戒指、项链、头盔、鞋子、挂饰等不同的产品模板,而针对不同的产品模板建立并训练了不同的估值模型,因而,在本发明的一个实施例中,在上述步骤s202之后,上述方法还可以包括:确定与所述待测虚拟产品对应的产品模板;根据所述产品模板确定与所述产品模板对应的已训练的虚拟产品估值模型;上述步骤s204可以表现为:将提取的所述属性信息输入到根据所述产品模板确定的虚拟产品估值模型中,输出所述价格估计值。

需要说明的是,如果上述预测虚拟产品为套装产品(比如可以包括多个子产品),可以将该套装产品进行分解,得到多个子产品,针对每个子产品分别执行上述步骤s204和s206,但并不限于此。

在本发明的一个实施例中,在上述步骤s202之前,上述方法还可以包括:获取训练数据集,其中,所述训练数据集包括:属性信息集和交易价格集;其中,属性信息集为多个虚拟产品的属性信息的集合,所述交易价格集为所述多个虚拟产品的交易价格的集合;以所述属性信息集中的虚拟产品的属性信息作为输入,所述交易价格集中与所述虚拟产品对应的交易价格作为输出,进行模型训练,得到所述已训练的虚拟产品估值模型。

需要说明的是,上述获取所述训练数据集可以表现为:从预先存储的虚拟产品描述日志中获取所述属性信息集;从预先存储的交易日志中获取所述交易价格集。

需要说明的是,上述虚拟产品估值模型可以是多层神经网络模型,比如其可以有三层隐藏层,隐藏层的神经元的数量分别是512,256,32,输入层的神经元个数可以与虚拟产品的属性信息的维度相同,输出层的神经元的个数为1,其为虚拟产品的价格估计值。

需要说明的是,在获取所述训练数据集之后,上述方法还可以包括:对所述训练数据集进行按照产品模板划分,得到多个训练数据子集,其中,每个训练数据子集对应一个产品模板;其中,不同的产品模板对应不同的虚拟产品估值模型;以所述属性信息集中的虚拟产品的属性信息作为输入,所述交易价格集中与所述虚拟产品对应的交易价格作为输出,对所述虚拟产品估值模型进行训练,得到所述已训练的虚拟产品估值模型可以表现为:针对每个产品模板,执行以下操作:以与产品模板对应的训练数据子集中的虚拟产品的属性信息作为输入,与所述产品模板对应的训练数据子集中的虚拟产品的交易价格作为输出,对与所述产品模板对应的虚拟产品估值模型进行训练,得到与所述产品模板对应的已训练的虚拟产品估值模型。即在模型训练时也是分产品模板进行训练的。

在本发明的一个实施例中,在上述步骤s206之后,上述方法还可以包括:将提取的所述待测虚拟产品的属性信息和交易所述待测虚拟产品的实际交易价格添加到所述训练数据集中。通过这种方式,不断对训练数据集进行扩增,因而随着训练数据集的不断增加,模型的估值效果也会越来越准确。

在本发明的一个实施例中,在以所述属性信息集中的属性信息作为输入,所述交易价格集中与所述属性信息对应的虚拟产品的交易价格作为输出,对所述虚拟产品估值模型进行训练,得到所述已训练的虚拟产品估值模型之前,上述方法还可以包括:获取指定虚拟产品估值模型;将所述属性信息集中的指定虚拟产品的属性信息输入到所述指定虚拟产品估值模型中,输出所述指定虚拟产品的价格估计值;根据所述指定虚拟产品的价格估计值与所述交易价格集中的所述指定虚拟产品的交易价格确定对所述指定虚拟产品的交易是否为异常交易;在确定对所述指定虚拟产品的交易为异常交易的情况下,将所述指定虚拟产品的属性信息从所述属性信息集中删除,得到更新后的属性信息集;以及将所述指定虚拟产品的交易价格从所述交易价格集中删除,得到更新后的交易价格集;以所述属性信息集中的属性信息作为输入,所述交易价格集中与所述属性信息对应的虚拟产品的交易价格作为输出,对所述虚拟产品估值模型进行训练,得到所述已训练的虚拟产品估值模型可以表现为:以所述更新后的属性信息集中的属性信息作为输入,所述更新后的交易价格集中与所述属性信息对应的虚拟产品的交易价格作为输出,对所述指定虚拟产品估值模型进行训练,得到所述已训练的虚拟产品估值模型。即通过基本的模型(指定虚拟产品估值模型)做一个离线预测,将训练数据集中该指定虚拟产品估值模型所预测的交易异常的有关数据去掉,使得训练数据集中的噪声数据减少,进而利用比较干净的训练集训练模型,提升上述模型的效果。

为了后续进行分析,在本发明的一个实施例中,在确定所述交易为异常交易之后,上述方法还可以包括:输出该异常交易的卖家标识和/或买家标识。

需要说明的是,上述输出的卖家标识和/或买家标识用于确定与卖家标识和/或买家标识对应的其他交易是否异常,或者上述输出的卖家标识和/或买家标识可以用于确定卖家标识和/或买家标识是否是外挂中的金主号和资源号,但并不限于此。

优选地,输出的上述卖家标识和/或上述买家标识可以是记录在交易日志中,对于交易日志中记录的卖家标识和/或买家标识进行预定时间段内的频度分析,在统计的指定卖家标识和/或指定买家标识的次数大于预定数值的情况下,确定与该指定卖家标识和/或指定买家标识对应的其他交易为异常交易。

需要说明的是,在上述统计的指定卖家标识和/或指定买家标识的次数大于预定数值的情况下,还可以确定该指定卖家标识为所述金主号,所述指定买家标识为所述资源号。

需要说明的是,上述步骤的执行主体可以终端,比如图1所示的移动终端,但并不限于此。

本发明实施例还提供了一种交易检测方法,该方法也可以运行于图1所示的移动终端,图3是根据本发明实施例的交易检测方法的流程示意图二,如图3所示,该方法包括如下步骤:

步骤s302,提取待测虚拟产品的指定信息,其中,所述指定信息包括:所述待测虚拟产品的属性信息和所述待测虚拟产品的交易价格;

步骤s304,将提取的所述指定信息输入到已训练的交易检测模型中,输出所述待测虚拟产品的交易检测结果;其中,所述交易检测结果包括以下之一:交易所述待测虚拟产品的交易为异常交易,交易所述待测虚拟产品的交易为正常交易。

通过上述步骤,采用直接将待测虚拟产品的指定信息输入到已训练的交易检测模型中直接输出对该待测虚拟产品的交易是否为异常交易的方式,即通过训练好的交易检测模型来对待测虚拟产品的交易进行检测,省掉了大量的人工的参与,释放了人力,因而提高了检测的效率,进而解决了相关技术中游戏中异常交易的检测的效率低的技术问题。

另外,需要说明的是,上述步骤通过模型进行待测虚拟产品的交易的估计,其比一般的基于一定的游戏规则对待测虚拟产品的价格的估计进而确定待测虚拟产品的交易是否正常的检测更加准确,因而交易检测的准确率更高。

需要说明的是,待测虚拟产品可以是游戏场景中的装备(比如武器,腰带,衣服,戒指等等),道具等,也可以是新闻,电子书籍,计算机软件等等,但并不限于此。

需要说明的是,以上述待测虚拟产品为游戏场景中的装备为例,上述属性信息可以包括基本属性和专有属性,其中,基本属性可以包括最大最小攻击,速度,命中等,但并不限于此,上述专有属性也可以称为额外的修饰词,由于装备的多样性和随机性,因而额外的修饰词采用one-hot编码的方式进行处理。

需要说明的是,由于预测虚拟产品可以为多个不同的产品模板,以预测虚拟产品为例,可以分为:武器、腰带、衣服、戒指、项链、头盔、鞋子、挂饰等不同的产品模板,而针对不同的产品模板建立并训练了不同的交易检测模型,因而,在本发明的一个实施例中,在上述步骤s302之后,上述方法还可以包括:确定与所述待测虚拟产品对应的产品模板;根据所述产品模板确定与所述产品模板对应的已训练的交易检测模型;将提取的所述指定信息输入到已训练的交易检测模型中,输出所述待测虚拟产品的交易检测结果包括:将提取的所述指定信息输入到根据所述产品模板确定的交易检测模型中,输出所述交易检测结果。

需要说明的是,如果上述预测虚拟产品为套装产品(比如可以包括多个子产品),可以将该套装产品进行分解,得到多个子产品,针对每个子产品分别执行上述步骤s302-s304,但并不限于此。

在本发明的一个实施例中,在上述步骤s302之前,上述方法还可以包括:获取训练数据集,其中,所述训练数据集包括:指定信息集和交易结果集;其中,指定信息集为多个虚拟产品的指定信息的集合,所述交易结果集为所述多个虚拟产品的交易结果的集合;以所述指定信息集中的虚拟产品的指定信息作为输入,所述交易结果中与所述虚拟产品对应的交易结果作为输出,进行模型训练,得到所述已训练的交易检测模型。

需要说明的是,获取所述训练数据集可以表现为:从预先存储的虚拟产品描述日志中获取所述指定信息集中的属性信息集;从预先存储的交易日志中获取所述交易结果集和所述指定信息中的交易价格集。需要说明的是,针对每个虚拟产品的交易结果在交易日志中预先进行了标记,但并不限于此。

需要说明的是,上述交易检测模型可以是多层神经网络模型,比如其可以有三层隐藏层,隐藏层的神经元的数量分别是512,256,32,输入层的神经元个数可以与虚拟产品的指定信息的维度相同,输出层的神经元的个数为1,其为虚拟产品的交易检测结果。

需要说明的是,在获取所述训练数据集之后,上述方法还可以包括:对所述训练数据集进行按照产品模板划分,得到多个训练数据子集,其中,每个训练数据子集对应一个产品模板;其中,不同的产品模板对应不同的交易检测模型;以所述指定信息集中的虚拟产品的指定信息作为输入,所述交易结果中与所述虚拟产品对应的交易结果作为输出,进行模型训练,得到所述已训练的交易检测模型可以表现为:针对每个产品模板,执行以下操作:以与产品模板对应的训练数据子集中的虚拟产品的指定信息作为输入,与所述产品模板对应的训练数据子集中的虚拟产品的交易结果作为输出,对与所述产品模板对应的交易检测模型进行训练,得到与所述产品模板对应的已训练的交易检测模型。即在模型训练时也是分产品模板进行训练的。

需要说明的是,在上述步骤s304之后,上述方法还可以包括:将提取的所述待测虚拟产品的指定信息和所述待测虚拟产品的交易结果添加到所述训练数据集中。通过这种方式,不断对训练数据集进行扩增,因而随着训练数据集的不断增加,模型的估值效果也会越来越准确。

需要说明的是,在在输出的所述交易检测结果为交易所述待测虚拟产品的交易为异常交易的情况下,上述方法还可以包括:输出上述异常交易的卖家标识和/或买家标识。

需要说明的是,上述输出的卖家标识和/或买家标识用于确定与卖家标识和/或买家标识对应的其他交易是否异常,或者上述输出的卖家标识和/或买家标识可以用于确定卖家标识和/或买家标识是否是外挂中的金主号和资源号,但并不限于此。

优选地,输出的上述卖家标识和/或上述买家标识可以是记录在交易日志中,对于交易日志中记录的卖家标识和/或买家标识进行预定时间段内的频度分析,在统计的指定卖家标识和/或指定买家标识的次数大于预定数值的情况下,确定与该指定卖家标识和/或指定买家标识对应的其他交易为异常交易。

需要说明的是,在上述统计的指定卖家标识和/或指定买家标识的次数大于预定数值的情况下,还可以确定该指定卖家标识为所述金主号,所述指定买家标识为所述资源号。

需要说明的是,上述步骤的执行主体可以终端,比如图1所示的移动终端,但并不限于此。

为了更好的理解本发明实施例,以下结合优选的实施例对本发明做进一步解释。

本发明优选实施例以游戏场景中虚拟产品为游戏装备为例,本发明优选实施例提出了一种基于游戏装备估值的异常交易检测方案。首先通过游戏的大量的游戏日志数据,建立游戏装备估值深度学习模型(相当于上述实施例中的虚拟产品估值模型),该估值模型在建立的过程中可以包含装备各个维度的属性,同时还可以学习到复杂的随机修饰词对于装备价格的影响,这是人工辨识装备和规则方案很难做到的;其次,模型的训练以及训练之后的使用都不需要人工的过多干预,真正的体现出人工智能的优势,提高游戏运营的工作效率、节省人力和时间;最后通过装备估值实现的异常交易可以对异常交易进行一个定量的描述,装备估值模型估计出的价格可以更好的找到异常的交易。

本发明优选实施例要解决的问题是:能通过游戏中交易的装备信息,可以迅速检测出游戏中的异常交易,提供给游戏运营进行针对性的处理。其主要包括:

利用游戏中大量的游戏交易日志建立深度学习模型,由于游戏交易日志数量巨大,可以涵盖游戏中大部分甚至全部的装备属性,通过深度学习模型可以建立装备属性(相当于上述实施例中的虚拟产品的属性信息)和交易价格(相当于上述的虚拟产品的价格估计值)的映射关系,从而建立一个准确的装备估值模型(相当于上述实施例中的虚拟产品估值模型)。通过该装备估值模型可以对交易中的装备进行估值,如果交易价格和模型估计价格偏差较大,如其中ypred是模型的预测值,y是交易价格,d(相当于上述实施例中的预定阈值)是一个经验值,表示可以接受的偏差大小,如果上述公式满足,就认为这笔交易是异常交易。

需要说明的是,采用深度神经网络模型作为深度学习模型,在进行建模的时候,采用装备的属性作为输入,交易的成交价格作为输出。同时由于大部分mmorpg中不同装备模板具有不同的属性,因此先将装备分成不同的模板(相当于上述实施例中的产品模板),然后针对不同的模板进行建模。其中针对某个模板,其属性一般由基本属性和额外修饰词两部分组成,其中基本属性就是按照该属性的数值大小进行特征工程的构建。而对于额外修饰词,采用one-hot编码的方式,将游戏中出现的所有修饰词都考虑进来,如果该修饰词出现就将相应位置的数值置为该修饰词的具体增益大小。

采用上述技术方案,主要为了解决游戏中异常交易的问题,通过该方法可以迅速的估值出交易中装备的实际价格,然后与交易价格进行对比,如果偏差比较大,就判定为异常交易。

该方法相比于人工查验可以减少大量人工的参与,释放人力,同时深度神经网络在建模的过程中,考虑到了装备的所有属性维度,当数据量足够大的时候,该模型可以学习出装备的属性对应的实际价格,可以达到甚至超过一个有经验的游戏玩家的水平,因此通过该模型进行装备价格的估值相比于规则的方法也会更加的准确,当装备估值的价格准确的时候,那个的异常交易检测也是具有高命中率和准确率的。因此该技术方案更适合游戏中的异常交易检测。

为解决游戏中异常交易问题,本发明优选实施例还提供了一种技术方案:首先建立装备估值模型,然后通过装备估值模型对交易的装备进行估值,如果模型估计的价格和交易的价格偏差很大,认为这个交易是异常交易。

图4是根据本发明优选实施例提供的游戏一场交易检测的流程设计的示意图,整个异常检测的流程可以分为4个步骤:

步骤一:数据处理(相当于上述实施例中的获取训练数据集)

1)数据采集,因为需要装备属性和交易价格的对应数据,因此通过接口采集游戏中的交易日志和装备描述日志;需要说明的是,该接口为访问游戏中日志的数元系统提供的接口,但并不限于此;

2)数据处理,提取交易日志和装备描述日志中的有用信息并转换成方便模型输入和训练的数据形式,比如,提取交易日志中交易的时间、交易价格、交易装备唯一id、服务器id,提取装备描述日志中装备的详细属性、装备的id、服务器id、日志记录时间;

3)数据匹配,将交易日志中和装备描述日志中的装备数据按照服务器id、装备唯一id以及交易时间进行匹配,从而得到装备详细属性对应的交易价格,完成训练模型数据集的构建。

步骤二:模板分类(相当于上述实施例中的不同的产品模板对应不同的虚拟产品估值模型)

对于mmorpg游戏中的装备基本都可以分为:武器、腰带、衣服、戒指、项链、头盔、鞋子、挂饰等不同的模板,在游戏中不同的模板的基本属性词条不同,更重要的是不同模板的装备在游戏中本身的重要程度也不同,因此不同模板存在价格的差异。因此在建立装备估值模型(相当于上述实施例中的虚拟产品估值模型)之前先将数据按照不同模板分开,然后针对不同的模板建立相应的估值模型。

根据装备的模板id,可以将数据集中的装备分为不同的模板。然后针对不同模板进行建模。

步骤三:装备估值模型建立,模型建立过程分为线下训练和线上迭代两部分(相当于上述实施例中的以所述属性信息集中的虚拟产品的属性信息作为输入,所述交易价格集中与所述虚拟产品对应的交易价格作为输出,进行模型训练,得到所述已训练的虚拟产品估值模型)

线下训练:

建立特征工程,游戏中装备的属性(相当于上述实施例中的虚拟产品的属性信息)主要包括两大类:基本属性和额外的修饰词。其中,基本属性包括最大最小攻击、速度、命中等m种,那么装备估值模型的基本属性的特征维度就有m维。由于不同的模板的基本属性词条不同,对于不同的模板建立不同的基本属性的特征工程。装备日志的详细信息中含有基本属性的数值,在建立特征工程时,对于每件装备的基本属性,可以直接对应具体的特征维度,赋值相应的数值。额外修饰词由于装备上的多样性和随机性,因此采用one-hot编码的方式进行处理。由于不同的修饰词对应不同的效果增益,先将游戏中所有的修饰词按照效果增益分为n种,一件装备对于一种增益效果只会出现该增益效果下的一个修饰词,因此将额外修饰词的特征维度设置为n,对于一件装备,其修饰词对应不同的增益,将该装备中修饰词对应的增益进行赋值,其他增益对应的维度为0,由于不同修饰词对于该增益的加成不同,因此在进行赋值的时候,使用该修饰词对应的增益效果加成数值去赋值对应的额外修饰词特征维度。这样每件装备输入维度就是m+n,完成装备特征工程部分。其中m根据不同装备模板的基本修饰词会发生变化;其中,m,n为大于或等于0的整数。

建立多层神经网络模型。使用多层神经网络模型作为装备估值的基本模型,该模型有三层隐藏层,隐层神经元的数量分别是512、256、32个神经元,输入层的神经元个数由于特征工程决定为m+n个,输出层为模型的预测价格,因此输出层神经元的个数为1。其中前四层每个神经元的非线性激活函数采用relu函数,最后一层不采用激活函数,前四层权重采用均值为0、方差为的高斯分布进行初始化(其中n为上一层网络神经元个数),为了防止预测输出的值为负,将最后一层的权重全部初始化为0.1,偏置使用均值为0、方差为0.1的高斯分布进行初始化。由于各个特征维度之间的数量级差距比较大,在进行训练之前,先将数据的输入部分进行标准化,即将每个特征维度都转换成均值为0、方差为1的标准数据。模型训练中batch的大小为128,共训练100次。模型的loss使用rmsle:因为交易价格的浮动范围很大,使用该loss可以有效的提高模型的鲁棒性,使用adam的优化器对于模型进行优化,设置的初始的学习率为0.01。图5是根据本发明优选实施例提供的通过该模型训练出来的效果图,如图5所示,该效果图是模型的平均误差率在训练集和测试集上面的分布,可以看出的模型的平均误差率的分布类似正态分布,大部分预测结果在-1到1之间,这个偏差在游戏中是完全可以接受的,从而验证了模型的可行性。

线上迭代:

要能准确的估计游戏中的所有装备,需要大量的游戏交易数据,因为设计线上流程,每天定时启动采集数据的脚本,将昨天的游戏交易数据采集下来,然后经过处理构建成数据集,然后利用昨天训练的模型对今天的交易中的装备进行估值,并将今天的数据集连同预测数值存在数据库中;

存入数据库中的数据可以帮助观察目前模型的效果,同时还可以方便以后上线输出使用;

模型的优化和重新训练。通过两种方式不断的优化模型:

方法一:扩增数据集,将今天采集的数据集加入到之前的训练集中,进行一个数据的扩增,随着数据集的不断增加,我们模型的估值效果也会越来越准确;

方法二:清理数据集,在得到基本模型之后,我们可以利用基本模型进行一个离线预测,然后根据偏差得到目前模型认为是异常交易的数据,将这部分数据从训练集中去掉,使得训练集中的噪声数据减少,再利用新的较干净的训练集重新训练模型,提升模型的效果。

步骤四:模型的预测输出

在模型训练符合要求之后,上线估值。首先采集前一天的交易数据,通过模型对于前一天交易数据进行估值预测,将交易数据和预测值存入相应的数据库中,在存储的时候进行一定的转换,将游戏日志中的数据转换成方便观看的形式,比如将装备额外的修饰词、将装备的颜色、宝石信息等属性根据策划表转换成中文,这样方便后续运营的确认;

对于存入数据库中的数据,进行筛选,筛选出估计值和交易价格偏差比较大的数据,如其中ypred是模型的预测值,y是交易价格,d是一个经验值,表示可以接受的偏差大小,满足上面公式的交易,判定为待确认的异常交易;

再按照之前的装备价格的一些规则编写一个筛选脚本,通过这些规则可以简单的判断装备的价格,通过规则可以过滤掉待确认异常交易中错误判定为异常的交易。将剩下的交易判定为异常交易,然后交由运营进行确认、处理和干预,这样就完成了整个异常交易的流程。

需要说明的是,在优选的实施例中,在交易日志中还增加了卖方和买方的玩家标识(id)(相当于上述的卖家标识和买家标识)这两个字段数据,当判定该笔交易为异常交易之后,还可以对于该笔交易的卖方和买方id进行输出,用于后续分析。可以输出一段时间的异常交易的对应玩家id,比如输出2018年2月1号到2018年3月1号这段时间判定为异常的每笔交易所对应的卖方和买方id,并对于出现的id进行频度的统计。这样对于出现多次的id,可以再查找该id对应的其他交易也可以是异常,同时检测出的该id对应的异常交易是准确的,并且这些id还可以与外挂检测结合起来,用于判定是不是外挂中的金主号和资源号。

比如:在异常交易中,上述模型的预测值(相当于上述实施例中的价格估计值)远远低于实际交易价格,然后认为这个交易是将一个垃圾装备高价卖出了,那么对于买方获得了一个垃圾装备,对于卖方通过一个垃圾装备获得了更多的金钱,然后卖方就通过这个收益获得了收益。对于游戏外挂中的金主号来说,他可以通过上述的交易方式,与多名其他玩家进行交易,那么金主号通过这种方式用多件垃圾装备获得大量的游戏金钱,所以发生这种行为的玩家被叫做金主号,其他与金主号进行异常交易的买方账号就被叫资源号,资源号大多是一些脚本,通过自动挂、循环挂等外挂获得一定游戏金钱,然后通过这种异常交易的方式,资源号可以将自己身上的游戏金钱都集中到一个金主号上,从而进行获利。在异常交易检测中模型预测值远远小于交易值的情况下,如果一段时间,发现这种情况的异常交易的卖方id出现次数很多可以判定这个id为金主号,这种情况的异常交易的买方id出现很多,可以判定为资源号,同时跟金主号进行的异常交易也可以基本判定另一方为资源号。

对于上述交易检测模型的训练与上述优选实施例中的装备估值模型的训练类似,不同的是训练集不同,模型输出不同,此处不再赘述。

本发明实施例还提供了一种交易检测装置,该交易检测装置可以位于上述图1所示的终端中,但并不限于此,图6是根据本发明实施例提供的交易检测装置的结构示意图一,如图6所示,该交易检测装置包括:

提取模块62,用于提取待测虚拟产品的属性信息;

输出模块64,与上述提取模块62连接,用于将提取的属性信息输入到已训练的虚拟产品估值模型中,输出待测虚拟产品的价格估计值;

确定模块66,与上述输出模块64连接,用于根据价格估计值和待测虚拟产品的交易价格确定对待测虚拟产品的交易是否为异常交易。

通过上述装置,采用将待测虚拟产品的属性信息输入到已训练的虚拟产品估值模型中直接到该待测虚拟产品的价格估计值,进而确定对于该待测虚拟产品的交易是否为异常交易的方式,即通过训练好的虚拟产品估值模型对待测虚拟产品的价值进行估算,进而确定出该待测交易产品的交易是否为异常,省掉了大量的人工的参与,释放了人力,因而提高了检测的效率,进而解决了相关技术中游戏中异常交易的检测的效率低的技术问题。

另外,需要说明的是,上述步骤通过模型进行待测虚拟产品的价格的估计,其比一般的基于一定的游戏规则对待测虚拟产品的价格的估计更加准确,因而交易检测的准确率更高。

需要说明的是,待测虚拟产品可以是游戏场景中的装备(比如武器,腰带,衣服,戒指等等),道具等,也可以是新闻,电子书籍,计算机软件等等,但并不限于此。

需要说明的是,以上述待测虚拟产品为游戏场景中的装备为例,上述属性信息可以包括基本属性和专有属性,其中,基本属性可以包括最大最小攻击,速度,命中等,但并不限于此,上述专有属性也可以称为额外的修饰词,由于装备的多样性和随机性,因而额外的修饰词采用one-hot编码的方式进行处理。

需要说明的是,上述确定模块66还用于:在所述价格估计值和所述交易价格之间的差值的绝对值小于或等于预定阈值的情况下,确定所述交易为正常交易;在所述价格估计值和所述交易价格之间的差值的绝对值大于所述预定阈值的情况下,确定所述交易为异常交易。

需要说明的是,上述预定阈值可以预先设置,该预定阈值可以是一个经验值,但并不限于此。

需要说明的是,由于预测虚拟产品可以为多个不同的产品模板,以预测虚拟产品为例,可以分为:武器、腰带、衣服、戒指、项链、头盔、鞋子、挂饰等不同的产品模板,而针对不同的产品模板建立并训练了不同的估值模型,因而,在本发明的一个实施例中,上述输出模块64还用于确定与所述待测虚拟产品对应的产品模板;根据所述产品模板确定与所述产品模板对应的已训练的虚拟产品估值模型;上述输出模块64还用于将提取的所述属性信息输入到根据所述产品模板确定的虚拟产品估值模型中,输出所述价格估计值。

在本发明的一个实施例中,上述装置还包括:获取模块,用于获取训练数据集,其中,所述训练数据集包括:属性信息集和交易价格集;其中,属性信息集为多个虚拟产品的属性信息的集合,所述交易价格集为所述多个虚拟产品的交易价格的集合;训练模块,与上述获取模块连接,用于以所述属性信息集中的虚拟产品的属性信息作为输入,所述交易价格集中与所述虚拟产品对应的交易价格作为输出,进行模型训练,得到所述已训练的虚拟产品估值模型。

需要说明的是,上述获取模块还用于从预先存储的虚拟产品描述日志中获取所述属性信息集和从预先存储的交易日志中获取所述交易价格集。

需要说明的是,上述虚拟产品估值模型可以是多层神经网络模型,比如其可以有三层隐藏层,隐藏层的神经元的数量分别是512,256,32,输入层的神经元个数可以与虚拟产品的属性信息的维度相同,输出层的神经元的个数为1,其为虚拟产品的价格估计值。

需要说明的是,上述装置还包括:划分模块,与上述获取模块连接,用于对所述训练数据集进行按照产品模板划分,得到多个训练数据子集,其中,每个训练数据子集对应一个产品模板;其中,不同的产品模板对应不同的虚拟产品估值模型;上述训练模块还用于针对每个产品模板,执行以下操作:以与产品模板对应的训练数据子集中的虚拟产品的属性信息作为输入,与所述产品模板对应的训练数据子集中的虚拟产品的交易价格作为输出,对与所述产品模板对应的虚拟产品估值模型进行训练,得到与所述产品模板对应的已训练的虚拟产品估值模型。即在模型训练时也是分产品模板进行训练的。

在本发明的一个实施例中,上述装置还包括:添加模块,与上述确定模块66连接,用于将提取的所述待测虚拟产品的属性信息和交易所述待测虚拟产品的实际交易价格添加到所述训练数据集中。通过不断对训练数据集进行扩增,随着训练数据集的不断增加,模型的估值效果也会越来越准确。

在本发明的一个实施例中,上述获取模块,用于获取指定虚拟产品估值模型;输出模块还用于将所述属性信息集中的指定虚拟产品的属性信息输入到所述指定虚拟产品估值模型中,输出所述指定虚拟产品的价格估计值;上述确定模块66还用于根据所述指定虚拟产品的价格估计值与所述交易价格集中的所述指定虚拟产品的交易价格确定对所述指定虚拟产品的交易是否为异常交易;上述装置还可以包括:删除模块,与上述确定模块66连接,用于在确定对所述指定虚拟产品的交易为异常交易的情况下,将所述指定虚拟产品的属性信息从所述属性信息集中删除,得到更新后的属性信息集;以及将所述指定虚拟产品的交易价格从所述交易价格集中删除,得到更新后的交易价格集;上述训练模块还用于以所述更新后的属性信息集中的属性信息作为输入,所述更新后的交易价格集中与所述属性信息对应的虚拟产品的交易价格作为输出,对所述指定虚拟产品估值模型进行训练,得到所述已训练的虚拟产品估值模型。即通过基本的模型(指定虚拟产品估值模型)做一个离线预测,将训练数据集中该指定虚拟产品估值模型所预测的交易异常的有关数据去掉,使得训练数据集中的噪声数据减少,进而利用比较干净的训练集训练模型,提升上述模型的效果。

在本发明的一个实施例中,上述装置还可以包括:标识输出模块,与上述确定模块66连接,用于输出所述异常交易的卖家标识和/或买家标识。

本发明实施例还提供了一种交易检测装置,该交易检测装置位于图1所示的终端中,但并不限于此,图7是根据本发明实施例提供的交易检测装置的结构示意图二,如图7所示,该交易检测装置包括:

提取模块72,用于提取待测虚拟产品的指定信息,其中,指定信息包括:待测虚拟产品的属性信息和待测虚拟产品的交易价格;

输出模块74,与上述提取模块72连接,用于将提取的指定信息输入到已训练的交易检测模型中,输出待测虚拟产品的交易检测结果;其中,交易检测结果包括以下之一:交易待测虚拟产品的交易为异常交易,交易待测虚拟产品的交易为正常交易。

通过上述装置,采用直接将待测虚拟产品的指定信息输入到已训练的交易检测模型中直接输出对该待测虚拟产品的交易是否为异常交易的方式,即通过训练好的交易检测模型来对待测虚拟产品的交易进行检测,省掉了大量的人工的参与,释放了人力,因而提高了检测的效率,进而解决了相关技术中游戏中异常交易的检测的效率低的技术问题。

另外,需要说明的是,上述装置通过模型进行待测虚拟产品的交易的估计,其比一般的基于一定的游戏规则对待测虚拟产品的价格的估计进而确定待测虚拟产品的交易是否正常的检测更加准确,因而交易检测的准确率更高。

需要说明的是,待测虚拟产品可以是游戏场景中的装备(比如武器,腰带,衣服,戒指等等),道具等,也可以是新闻,电子书籍,计算机软件等等,但并不限于此。

需要说明的是,以上述待测虚拟产品为游戏场景中的装备为例,上述属性信息可以包括基本属性和专有属性,其中,基本属性可以包括最大最小攻击,速度,命中等,但并不限于此,上述专有属性也可以称为额外的修饰词,由于装备的多样性和随机性,因而额外的修饰词采用one-hot编码的方式进行处理。

需要说明的是,由于预测虚拟产品可以为多个不同的产品模板,以预测虚拟产品为例,可以分为:武器、腰带、衣服、戒指、项链、头盔、鞋子、挂饰等不同的产品模板,而针对不同的产品模板建立并训练了不同的交易检测模型,因而,在本发明的一个实施例中,上述装置还可以包括:确定模块,与上述提取模块72连接,用于确定与所述待测虚拟产品对应的产品模板以及根据所述产品模板确定与所述产品模板对应的已训练的交易检测模型;上述输出模块74还用于将提取的所述指定信息输入到根据所述产品模板确定的交易检测模型中,输出所述交易检测结果。

在本发明的一个实施例中,上述装置还包括:获取模块,用于获取训练数据集,其中,所述训练数据集包括:指定信息集和交易结果集;其中,指定信息集为多个虚拟产品的指定信息的集合,所述交易结果集为所述多个虚拟产品的交易结果的集合;训练模块,与上述获取模块连接,用于以所述指定信息集中的虚拟产品的指定信息作为输入,所述交易结果中与所述虚拟产品对应的交易结果作为输出,进行模型训练,得到所述已训练的交易检测模型。

需要说明的是,上述获取模块,还用于从预先存储的虚拟产品描述日志中获取所述指定信息集中的属性信息集;以及从预先存储的交易日志中获取所述交易结果集和所述指定信息中的交易价格集。需要说明的是,针对每个虚拟产品的交易结果在交易日志中预先进行了标记,但并不限于此。

需要说明的是,上述交易检测模型可以是多层神经网络模型,比如其可以有三层隐藏层,隐藏层的神经元的数量分别是512,256,32,输入层的神经元个数可以与虚拟产品的指定信息的维度相同,输出层的神经元的个数为1,其为虚拟产品的交易检测结果。

需要说明的是,上述装置还包括:划分模块,与上述获取模块连接,用于对所述训练数据集进行按照产品模板划分,得到多个训练数据子集,其中,每个训练数据子集对应一个产品模板;其中,不同的产品模板对应不同的交易检测模型;上述训练模块,还用于针对每个产品模板,执行以下操作:以与产品模板对应的训练数据子集中的虚拟产品的指定信息作为输入,与所述产品模板对应的训练数据子集中的虚拟产品的交易结果作为输出,对与所述产品模板对应的交易检测模型进行训练,得到与所述产品模板对应的已训练的交易检测模型。即在模型训练时也是分产品模板进行训练的。

需要说明的是,上述装置还包括:更新模块,与上述输出模块74连接,用于将提取的所述待测虚拟产品的指定信息和所述待测虚拟产品的交易结果添加到所述训练数据集中。通过这种方式,不断对训练数据集进行扩增,因而随着训练数据集的不断增加,模型的估值效果也会越来越准确。

在本发明的一个实施例中,上述装置还包括:标识输出模块,与上述输出模块74连接,用于在输出的上述交易检测结果为交易上述待测虚拟产品的交易为异常交易的情况下,输出上述异常交易的卖家标识和/或买家标识。

本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1