具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中基于业务安全的分类模型训练方法的应用环境图。参照图1,该基于业务安全的分类模型训练方法应用于安全对抗***。该安全对抗***包括用户终端110和计算机设备120。用户终端110和计算机设备120通过网络连接。用户终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。计算机设备120具体可以是终端或服务器,其中,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
可以理解,用户可通过用户终端110执行基于目标业务的操作,计算机设备120可从不同的用户终端110处获取基于目标业务所产生的日志文件,进而从日志文件中获取目标业务的全量样本,计算机设备120可通过执行本申请在后面的实施例中所提及的基于业务安全的分类模型训练方法,获得用于对目标业务进行安全管控的分类模型,通过该分类模型可在线上对目标业务进行安全管控,无需大量的人工实时更新维护判别筛选规则,大大减少了对目标业务进行安全管控的成本。
如图2所示,在一个实施例中,提供了一种基于业务安全的分类模型训练方法。本实施例主要以该方法应用于上述图1中的计算机设备120来举例说明。参照图2,该基于业务安全的分类模型训练方法具体包括如下步骤:
S202,获取目标业务的全量样本。
其中,目标业务是需要进行安全管控的业务,具体可以是在互联网业务场景下的互联网产品。用户可操作该互联网产品,通过该互联网产品产生一系列事件,比如用户可通过社交应用加好友、发帖、发布用户生成内容、或进行评论等,从而产生一系列相应的事件。对目标业务进行安全管控,是对目标业务中所产生的一些列事件进行安全管控,也就是处理业务场景中存在安全隐患的情况,比如处理色情内容、垃圾消息、骚扰行为、或用户帐号盗取等恶意事件。
全量样本是用于进行分类模型训练的一批样本,全量样本具体可以是当前所能获取到的、且在预设周期内的用于进行分类模型训练的样本,样本数量可多可少,本申请实施例对此不做限定。可以理解,在样本数量多的情况下,相对而言对分类模型的训练效果会更好。在不同的业务场景中,相应的全量样本可以不同,且随着时间的推移,全量样本的数量可以增加或减少。也就是说,可以有新的样本加入到该全量样本中以对分类模型进行训练,也可以淘汰掉不合适的样本。
具体地,终端上运行有不同的应用,计算机设备可确定与目标业务对应的社交应用,并获取由终端上传的由该社交应用所产生的社交数据,并基于预设周期内的社交数据确定全量样本。其中,社交数据是用户使用社交应用时所产生的数据,比如用户账号、对象行为数据、用户生成内容、或评论信息等。其中,对象行为数据是反映用户社交行为的数据,比如,登录时间、登录地点、登录次数、登录终端、用户通过用户账号进行发帖的发帖时间或发帖次数等。用户生成内容是用户自己在互联网平台创作并发布的内容,用户生成内容具体可以是文本、图片、视频、链接地址、符号或表情等。
在一个实施例中,用于训练分类模型的全量样本包括用户账号和用户生成内容中的至少一种。当全量样本为用户账号时,通过全量样本训练得到的分类模型用于对用户账号进行分类,以查找出恶意的用户账号。当全量样本为用户生成内容时,通过全量样本训练得到的分类模型用于对每条用户生成内容进行分类,以查找出恶意的用户生成内容。
在一个实施例中,计算机设备可从预设周期内全部的社交数据中挑选出用户账号或用户生成内容分别作为全量样本,也可以随机或有规律地挑选部分用户账号或用户生成内容分别作为全量样本。其中,有规律地挑选,比如,挑选登录地点相同的用户账号或分布地点相同的用户生成内容,还比如,挑选固定时间段内登录的用户账号或固定时间段内发布的用户生成内容等,本申请实施例在此不做限定。
在一个实施例中,步骤S202,也就是获取目标业务的全量样本的步骤具体包括:获取预设周期内基于目标业务所产生的日志文件;确定日志文件中出现的用户账号、及各用户账号对应的用户生成内容;将所有的用户账号或所有的用户生成内容,作为目标业务的全量样本。
具体地,计算机设备可从终端或服务器处获取在预设周期内基于目标业务所产生的日志文件。该日志文件是历史的日志文件,其中记录有发生操作的用户账号、以及各用户账号对应的对象行为数据和用户生成内容等。可以理解,预设周期是预先设置的一个时间周期,比如一天、一周或一个月等。
进而,计算机设备可提取出日志文件中出现的用户账号、及各用户账号对应的用户生成内容,将所有的用户账号或所有的用户生成内容,作为目标业务的全量样本。
可以理解,当计算机设备将所有的用户账号作为全量样本时,基于相应的全量样本,执行本申请实施例所提及的基于业务安全的分类模型训练方法训练得到的分类模型,可用于对线上收集的用户账号进行分类。当计算机设备将所有的用户生成内容作为全量样本时,基于相应的全量样本,执行本申请实施例所提及的基于业务安全的分类模型训练方法训练得到的分类模型,可用于对线上收集的用户生成内容进行分类。
上述实施例中,可将预设周期内基于目标业务所产生的日志文件中的所有的用户账号或所有的用户生成内容,作为目标业务的全量样本,进而基于相应的全量样本可训练得到用于处理用户账号或用户生成内容的分类模型。
S204,通过至少一种的异常检测方式对全量样本进行异常检测,从全量样本中确定出异常样本。
其中,异常检测方式是检测大量数据中的异常数据的方式,也成离群点检测方式,属于无监督机器学习算法。具体地,计算机设备可预先确定至少一种异常检测方式,再通过各个异常检测方式,分别对全量样本进行异常检测,将所有异常检测方式所检测出的异常样本,共同构成一个集合,该集合中的元素均为异常样本。这样可以保障不漏掉异常样本。
在一个实施例中,当异常检测方式有多种时,计算机设备还可对多种异常检测方式所检测出的异常样本,进行求交集操作,将通过多种异常检测方式均检测为异常样本的样本作为最终的异常样本。这样可以保障减少对异常样本的误判。
在一个实施例中,异常检测方式具体可以是基于统计学的异常点检测、基于神经网络的异常点检测、基于聚类的异常点检测、或是基于PCA(principal componentsanalysis,主成分分析)的异常点检测等,当然也可以是其他的异常检测方式,本申请实施例对此不做限定。其中,基于统计学的异常点检测具体可以是构建一个概率分布模型,并计算各个样本符合该模型的概率,把具有低概率的样本视为异常点,也就是异常样本。基于神经网络的异常点检测具体可以是基于One Class SVM(One-Class Support VectorMachine,一类支持向量机)或Isolation Forest(孤立森林)算法等。基于聚类的异常点检测具体可以是流式聚类算法、biKmeans(二分K-均值聚类)或Kmeans(K-均值聚类)算法等。在一个实施例中,计算机设备可根据各个样本对应的样本内容,构造该样本对应的样本特征,从而根据部分或全部的样本特征,构造第一样本特征。进而计算机设备可基于全量样本中每个样本各自对应的第一样本特征,来对全量样本进行异常检测,从而从全量样本中确定出异常样本。
其中,样本特征是基于样本的样本内容所构造的特征向量,用于将样本的特性用数值进行量化表示。第一样本特征是用于进行异常检测所需的样本特征。后文中所提及的第二样本特征是用于对分类模型进行训练时所需的样本特征。可以理解,第一样本特征和第二样本特征可以是相同的样本特征,也可以是部分相同的样本特征,或者是完全不同的样本特征等,具体可依据实际业务需求而定,本申请实施例对此不做限定。
在一个实施例中,计算机设备可根据用户账号所对应的对象行为数据、用户生成内容、其他用户的反馈信息、及相应的用户描述信息等数据来构造样本的多个样本特征,该多个样本特征可共同构成样本的特征库。这样就可以将样本数据化,通过样本的多个样本特征来反映该样本所具有的特性,便于后续进行处理。构造样本特征的方式有多种,例如标准化(standardization)、归一化(normalization)、离散化(discretization)、特征的二值化(binarization)、交叉特征等,本申请实施例对此不做限定。其中,用户描述信息是用于描述用户喜好、习惯或属性等特质的标签集合。
在一个实施例中,参考下述表1,表1为一个实施例中的样本的特征库的示意表格。计算机设备可根据样本内容构造如下表中的6个维度的样本特征,对于每个样本,可分别基于相应的样本内容,确定在这个6个维度上的特征值。
|
特征1 |
特征2 |
特征3 |
特征4 |
特征5 |
特征6 |
样本1 |
a1 |
b1 |
c1 |
d1 |
e1 |
f1 |
样本2 |
a2 |
b2 |
c2 |
d2 |
e2 |
f2 |
样本3 |
a3 |
b3 |
c3 |
d3 |
e3 |
f3 |
样本4 |
a4 |
b4 |
c4 |
d4 |
e4 |
f4 |
表1样本的特征库
在一个实施例中,计算机设备可从样本的特征库中筛选部分或全部的样本特征,拼接构成第一样本特征,比如[特征1,特征2,特征5,特征6]。对于第二样本特征的构造,计算机设备可根据业务需求,从样本的特征库中筛选部分或者全部的样本特征,拼接构成第二样本特征,比如[特征1,特征2,特征3,特征4]。
S206,从异常样本中筛选样本内容满足恶意条件的恶意样本。
其中,样本内容就是样本所对应的内容,具体可以是用于构造第一样本特征的信息。当异常样本为用户账号时,相应的样本内容具体可以是该用户账号所对应的对象行为数据、用户生成内容、其他用户的反馈信息、及相应的用户描述信息等。当异常样本为用户生成内容时,相应的样本内容具体可以是该用户生成内容所包括的信息,如该条用户生成内容所包括的文本、链接、或图片等信息。
具体地,计算机设备可根据异常样本的样本内容,从中筛选出满足恶意条件的恶意样本。其中,样本内容满足恶意条件,具体可以是样本内容包括恶意信息。比如,当异常样本为异常用户生生内容时,该异常用户生生内容中包括有恶意链接、***、违反法律法规的文字、或该用户生成内容重复频率超过预设频率等,满足上述任一情况或多种情况,即可认为该条异常用户生成内容为恶意用户生成内容,也就是恶意样本。还比如,当异常样本为异常用户账号时,该异常用户账号发布有恶意用户生成内容、该异常用户账号发帖频率高于预设频率、该异常用户账号在异地登录并进行资金转移等,满组上述任一情况或多种情况时,即可判定该异常用户账号为恶意用户账号,也就是恶意样本。
在一个实施例中,计算机设备可设置判别规则,通过人工或机器采用设置的判别规则,从异常样本中筛选出恶意样本。
在一个实施例中,S206,也就是从异常样本中筛选样本内容满足恶意条件的恶意样本的步骤具体包括:确定恶意样本筛选方式;根据异常样本中各样本的样本内容,按照恶意样本筛选方式,从异常样本中筛选样本内容满足恶意条件的异常样本;将筛选出的异常样本标注为恶意样本。
其中,恶意样本筛选方式是筛选恶意样本的方式,比如具体可以是借助有经验的工作人员的,基于筛选规则,对异常样本的样本内容进行判断,从而进行筛选,或者是,通过机器模型,预先学习筛选规则,将样本内容输入至机器模型中对异常样本进行筛选,还可以是结合人工筛选和机器筛选,以更准确地从异常样本中筛选出恶意样本等,筛选方式不限,本申请实施例对此不做限定。
具体地,计算机设备可根据异常样本中各样本的样本内容,按照恶意样本筛选方式,从异常样本中筛选样本内容满足恶意条件的异常样本。进一步地,计算机设备可将筛选出的异常样本标注为恶意样本。也就是设置筛选出的恶意样本的类别标签为恶意类别标签,该恶意样本也就是负样本。
上述实施例中,根据恶意样本筛选方式,从异常样本中筛选出恶意样本,可以维护少量的筛选规则,大大提高筛选效率和准确性,不论是通过人工辅助判断筛选还是机器筛选,都可以提高筛选的准确性和效率。
S208,根据全量样本中除去恶意样本后的样本,确定正常样本。
具体地,计算机设备可将全量样本中除去已标注的恶意样本后的样本,均作为正常样本。或者,计算机设备还可从全量样本中除去恶意样本后的样本中,抽选部分样本作为正常样本。其中,抽选的方法可以是随机抽样选择,也可以是定向抽选,本申请实施例对此不做限定。并且,抽选的部分样本的数量可以是少于、等于或多于恶意样本的数量,本申请实施例对此不做限定。
在一个实施例中,计算机设备从全量样本中确定出正常样本后,可设置正常样本的类别标签为正常类别标签,该正常样本也就是正样本。
S210,基于恶意样本和正常样本对初始的分类模型进行训练,得到用于对目标业务进行安全管控的分类模型。
具体地,计算机设备可获取初始的分类模型,该分类模型具体可以是通过决策树、逻辑回归、朴素贝叶斯或神经网络等算法构建的数学模型,本申请实施例对此不做限定。其中,神经网络算法比如GBDT(Gradient Boosting Decision Tree,梯度下降树)算法、或随机森林算法等。
进而,计算机设备可基于恶意样本和正常样本对该初始的分类模型进行训练,得到训练好的用于对目标业务进行安全管控的分类模型。可以理解,此时对分类模型的训练就是有监督的机器学习算法的训练方式。该分类模型可在线上对目标业务中的待处理对象进行分类,以识别该待处理对象是否为恶意对象。可以通过训练好的分类模型进行线上的实时打分和预测分类,从而达到判断用户恶意行为的效果。
在一个实施例中,初始的分类模型通过xgboost(extreme gradient boosting,极端梯度提升)算法构建,该xgboost算法是GBDT算法的一个变种。通过xgboost算法构建的分类模型具有以下几个优势:(1)拟合能力出众,可以有效地防止欠拟合和过拟合;(2)特征门槛低,也就是不需要做过多的特征工程的建设;(3)速度快,可以采用多线程的方式来加速树的构建过程;(4)精度更高,相比GBDT只针对一阶导数信息,xgboost对目标函数进行了二次的泰勒展开,同时用到了一阶导数和二阶导数,使得分类准确性更高。
在一个实施例中,步骤S210,也就是基于恶意样本和正常样本对初始的分类模型进行训练,得到用于对目标业务进行安全管控的分类模型的步骤具体包括:确定恶意样本和正常样本各自对应的第二样本特征和类别标签;将恶意样本和正常样本各自对应的第二样本特征,分别作为初始的分类模型的输入数据;将与输入数据对应的类别标签作为训练标签;通过输入数据和相应的训练标签训练初始的分类模型,得到用于对目标业务进行安全管控的分类模型。
其中,关于第二样本特征的构造可参考前述实施例所提到的方式。第二样本特征可以和第一样本特征相同或者不同。计算机设备可根据全部或部分的样本特征构造第二样本特征。
具体地,计算机设备可确定恶意样本和正常样本各自对应的第二样本特征和类别标签。对于恶意样本而言,其相应的类别标签为恶意类别标签;对于正常样本而言,其对应的类别标签为正常类别标签。
计算机设备在对初始的分类模型进行训练时,可将恶意样本和正常样本各自对应的第二样本特征分别作为输入数据,依次输入至分类模型中,得到与输入数据对应的预测输出。计算机设备可根据与输入数据对应的预测输出和类别标签之间的差异构建损失函数。在训练的过程中,调整模型参数,在调整模型参数的过程中,将使得该损失函数最小化时的模型参数作为当次的模型参数,并不断重复训练过程。直到达到训练停止条件时停止训练,得到训练好的分类模型。其中,训练停止条件具体可以是达到预设迭代次数,或训练后的分类模型的分类性能达到预设指标等。
这样,通过正常样本和恶意样本训练初始的分类模型,可以得到分类性能良好的分类模型,该分类模型用于对目标业务进行安全管控。
参考图3,图3为一个实施例中对初始的分类模型进行训练和使用的整体框架图。如图3所示,该对初始的分类模型进行训练和使用的整体框架图中包括有如图3中的正负样本分离301、构造样本特征302、有监督的机器学习算法303、离线训练分类模型304、以及线上使用分类模型305这五个部分。具体地,计算机设备获取全量样本并对全量样本进行正负样本分离。再采用前述实施例所提及的方式,构造恶意样本和正常样本各自对应的样本特征,在此时使用的就是第二样本特征。进而通过有监督的机器学习算法来对初始的分类模型进行离线训练,得到训练好的分类模型。最后计算机设备可将该训练好的分类模型用于线上预测,也就是在线上对目标业务中的待处理对象进行分类,以识别该待处理对象是否为恶意对象。
其中,在本申请实施例中所提到的正负样本分离,这是安全对抗***与传统的推荐***不一样之处。对于推荐***而言,在使用监督机器学习算法的时候,样本的标注十分明确,并不需要做过多的额外工作。但是在安全对抗***中,样本分离就是非常重要的一个环节,因为目标业务是没有标注数据的。因此,在实际应用中,通过前述实施例所提及的异常检测方式,也就是基于无监督机器学习算法的异常检测方式检测出异常样本,再加上工作人员的经验可以找到一批恶意样本。通过全量样本减去恶意样本,就得到正常样本。通过这样的方式,可以快速准确得做到样本分离,无需大量人力成本。
上述基于业务安全的分类模型训练方法,通过至少一种的异常检测方式,对目标业务的全量样本进行异常检测,以从全量样本中找到异常样本。进而可从异常样本中筛选样本内容满足恶意条件的恶意样本,根据全量样本中除去恶意样本后的样本确定正常样本。这样,就可以通过无监督的异常检测的方式结合内容筛选,快速准确地将正负样本分离,从而通过正负样本来训练分类模型。这样,训练得到的分类模型就可在线上对目标业务进行安全管控,无需大量的人工实时更新维护判别筛选规则,大大减少了安全管控的成本。并且,通过训练好的分类模型实现对目标业务的安全管控,还提高了管控效率和准确性。
在一个实施例中,步骤S202,也就是获取目标业务的全量样本的步骤具体包括:获取目标业务的全量样本、以及全量样本中的各样本分别对应的第一样本特征。步骤S204,也就是通过至少一种的异常检测方式对全量样本进行异常检测,从全量样本中确定出异常样本的步骤具体包括:通过至少一种的异常检测方式,分别基于各样本对应的第一样本特征,对全量样本进行异常检测,得到至少一组的候选异常样本;根据至少一组的候选异常样本的并集,从全量样本中筛选出异常样本。
具体地,计算机设备可通过上述实施例中提及的方式获取目标业务的全量样本、以及全量样本中的各样本分别对应的第一样本特征。进而,计算机设备可通过至少一种的异常检测方式,分别基于各样本对应的第一样本特征,对全量样本进行异常检测,得到至少一组的候选异常样本。此处的候选异常样本,就是分别通过各异常家检测方式检测出的异常样本。进而计算机设备可求得至少一组的候选异常样本的并集,也就是当存在多组候选异常样本时,对各组候选异常样本进行或操作,将出现的所有的候选异常样本都作为此次的异常样本。
上述实施例中,基于各样本对应的第一样本特征,可以准确快捷地对全量样本进行异常检测。再将每种异常检测方式所检测出的候选异常样本都作为异常样本,可保障不漏掉异常样本。
在一个实施例中,获取目标业务的全量样本、以及全量样本中的各样本分别对应的第一样本特征的步骤具体包括:获取预设周期内基于目标业务所产生的日志文件;日志文件包括用户账号、及与各用户账号对应的对象行为数据和用户生成内容;将日志文件中出现的全部的用户账号作为全量样本;获取与各用户账号分别对应的用户描述信息;根据各用户账号分别对应的对象行为数据、用户生成内容和用户描述信息,确定与各用户账号分别对应的第一样本特征。
在一个实施例中,计算机设备可获取预设周期内基于目标业务所产生的日志文件,该日志文件中包括用户账号、及与各用户账号对应的对象行为数据和用户生成内容。进而,计算就设备可将日志文件中出现的全部的用户账号作为全量样本。计算机设备可预先从其他业务平台或基于本地业务平台的业务数据,构造与用户账号对应的用户描述信息。进而,计算机设备可根据与该用户账号对应的对象行为数据、用户生成内容和用户描述信息等内容,进行特征构造,得到相应的样本特征。可以理解,该样本特征为特征向量,该特征向量中的每个元素均可表示在相应维度上该样本的特征值。计算机设备可从用户账号所对应的样本特征中,筛选部分或全部的特征值,拼接构成相应的第一样本特征。
在一个实施例中,计算机设备还可获取其他用户对该用户账号的负反馈信息和正反馈信息,其中,负反馈信息比如举报信息等,正反馈信息比如点赞信息等。进而,计算机设备可基于该用户账号对应的对象行为数据、用户生成内容、用户描述信息、及其他用户对该用户账号的反馈信息,进行特征构造,得到相应的样本特征。
上述实施例中,可基于与用户账号对应的对象行为数据、用户生成内容和用户描述信息,构造相应的第一样本特征,这样构造的第一样本特征可以全面准确地反映该用户账号所对应的特点。
在一个实施例中,获取目标业务的全量样本、以及全量样本中的各样本分别对应的第一样本特征的步骤具体包括:获取预设周期内基于目标业务所产生的日志文件;将日志文件中出现的全部的用户生成内容作为全量样本;根据各用户生成内容分别包括的恶意内容,确定与各用户生成内容分别对应的第一样本特征。
在一个实施例中,计算机设备可获取预设周期内基于目标业务所产生的日志文件,并将日志文件中出现的全部的用户生成内容作为全量样本。也就是每一条用户生成内容,就是一个样本。进而,计算机设备可获取每条用户生成内容对应的具体内容来确定该条用户生成内容的样本特征。比如,计算机设备可根据用户生成内容中出现的脏词计算脏词得分,如每出现一个脏词计一分。计算机设备还可检测用户生成内容中是否存在恶意链接,或者用户生成内容中是否存在恶意图片等,每出现一次计一分等。这样,计算机设备可根据上述描述的多个维度各自对应的得分值确定该条用户生成内容在相应维度上的特征值,多个维度的特征值共同构成样本特征。进而,计算机设备可从用户生成内容所对应的样本特征中,筛选部分或全部的特征值,拼接构成相应的第一样本特征。
上述实施例中,可基于用户生成内容中所包括的恶意内容,来确定该用户生成内容对应的第一样本特征,这样构造的第一样本特征可以全面准确地反映该用户生成内容所对应的特点。
在一个实施例中,步骤S204,也就是通过至少一种的异常检测方式对全量样本进行异常检测,从全量样本中确定出异常样本,包括:
S402,获取全量样本中的各样本分别对应的第一样本特征。
S404,将每个样本各自对应的第一样本特征,分别输入至训练好的重构模型,得到对应的输出向量。
其中,重构模型是基于前馈神经网络所构建的数学模型。该重构模型可包括多层的前馈神经网络,该前馈神经网络模拟的是一个恒等映射,输入层的节点个数等于输出层的节点个数,隐藏层的节点个数通常小于输入层的节点个数。该重构模型可起到压缩数据和恢复数据的作用,通过重构模型重构输入数据。
参考图5,图5为一个实施例中重构模型的网络结构示意图。图5中的重构模型包括输出层、输出层和三个隐藏层。其中,输入层和输出层的节点个数都是6,代表该样本有6个特征。第一个和第三个隐藏层的节点个数(图5中是4个节点)少于输入层,第二个隐藏层的节点个数是最少的(图5中是2个节点)。在神经网络传输的时候,中间使用了tanh函数(双曲正切函数)和sigmoid函数(S型函数)。由于该重构模型是训练一个从输入层到输出层的恒等映射(identity mapping),传输的时候从输入层开始压缩数据,到了第二个隐藏层之后开始解压数据。训练的目标函数就是使得整体的输出误差足够小,整体的误差是由所有的样本误差之和除以样本的个数得到的。以图5中所示的6个特征为例,第i个样本的误差是:
其中,x
ij表示第i个样本的第j个特征的特征值,r
ij表示通过重构模型输出的第i个样本的第j个特征的预测特征值。在每次训练过程中,通常都会使用经典的反向传播算法(back propagation)来更新模型参数,都会朝最小化整体误差来调整重构模型的模型参数,训练结束就得到训练好的重构模型。可以理解,图5中的重构模型的网络结构只是用于说明,并不用于限定该重构模型的网络结构。
具体地,计算机设备可获取训练好的重构模型,将每个样本各自对应的第一样本特征,分别输入至训练好的重构模型,通过重构模型的隐藏层进行数据压缩和解压,输出对应的输出向量。该输出向量就是由于该样本对应的各特征的预测特征值拼接构成。
S406,基于各样本分别对应的第一样本特征和输出向量间的差异,确定各样本对应的误差值。
具体地,计算机设备可基于各样本分别对应的第一样本特征和输出向量间的差异,确定各样本对应的误差值,该误差值也可认为是重构分数。其中,第一样本特征由各个特征对应的特征值构成。输出向量由各个特征对应的预测特征值构成。在一个实施例中,计算机设备可通过以下公式计算各个样本对应的误差值:
其中,e
i表示第i个样本的误差值,n表示该样本所具有的特征总数,x
ij表示第i个样本的第j个特征的特征值,r
ij表示通过重构模型输出的第i个样本的第j个特征的预测特征值。
S408,将相应误差值满足异常条件的样本作为异常样本。
具体地,计算机设备可计算出每个样本对应的误差值,将误差值满足异常条件的样本作为异常样本。其中,误差值满足异常条件具体可以是误差值大于预设阈值,或将各个误差值按从大至小排序后的排序名次在预设名次前。这样,计算机设备就可将误差值较大的一批样本作为异常样本。
上述实施例中,通过重构模型对每个样本各自对应的第一样本特征,进行重构处理,从而确定每个样本对应的误差值。从而可直接依据误差值快速准确地将误差值较大的一批样本作为异常样本。
在一个实施例中,步骤S204,也就是通过至少一种的异常检测方式对全量样本进行异常检测,从全量样本中确定出异常样本,包括:
S602,获取全量样本中的各样本分别对应的第一样本特征。
S604,基于各样本分别对应的第一样本特征,对全量样本进行聚类处理,得到多于一类的簇。
具体地,计算机设备可根据各样本分别对应的第一样本特征,对全量样本进行聚类处理,得到多于一类的簇。其中,聚类处理所采用的聚类算法具体可以是流式聚类算法、biKmeans、或Kmeans算法等,本申请实施例对此不做限定。
S606,根据各簇分别包括的样本的第一样本特征,确定各簇分别对应的特征均值。
具体地,计算机设备可根据各簇分别包括的样本的第一样本特征,确定各簇的质心向量,该质心向量即可作为该簇的特征均值。其中,计算机设备确定各簇的质心向量的方式有多种,比如,对于簇中的每个样本,计算机设备可计算该样本与簇中其他样本的距离之和,将距离之和最短的样本作为该簇的质心,相应的该簇的质心向量即为该质心的第一样本特性。其中,不同样本间的距离具体可通过样本各自对应的第一样本特征,计算两个样本间的欧式距离、曼哈顿距离、或切比雪夫距离等,本申请实施例对此不做限定。此外,计算机设备还可基于簇中的所有样本各自对应的第一样本特征,计算得到平均向量,该平均向量即为质心向量。可以理解,当簇中有新的样本增加时,该簇的质心向量也会相应进行更新。
S608,基于各簇分别对应的特征均值的特征分布,从簇中筛选出异常簇,并将异常簇中的样本作为异常样本。
进而,计算机设备可根据各簇分别对应的特征均值,确定不同簇的特征均值的一个分布情况,将离散的特征均值筛选出来,离散的特征均值所对应的簇即可认为是异常簇,该异常簇所包括的样本则是异常样本。
上述实施例中,可对全量样本进行聚类处理,将与其他簇差异较大的异常簇中的样本作为异常样本,准确便捷。
在一个实施例中,步骤S604,也就是对全量样本进行聚类处理,得到多于一类的簇的步骤,具体包括:确定当前已存在的不同簇;对于每个样本,根据相应的第一样本特征,分别计算样本与当前已存在的不同簇之间的距离;当距离中的最小距离小于等于距离阈值时,将样本划分至最小距离所对应的簇。
具体地,计算机设备在对全量样本进行聚类处理时,可将最开始处理的样本直接作为一个簇,再计算其他的样本与该簇之间的距离,当距离小于等于距离阈值时,将其他的样本划分至该簇中,否则,其他的样本则自成一个簇。这样,随着处理样本的数量的增加,对样本进行聚类所得到的簇也在增加。
参考图7,图7为一个实施例中对样本进行聚类的步骤的流程图。如图7所示,对样本进行聚类的步骤的流程图主要包括:S702,对正负样本进行分离;S704,判断该新样本是否与现有的某个类足够相似;如果是,则进入步骤S706,将该新样本***该类;如果否,则进入步骤S708,该新样本自成一类。具体地,在对未知的新样本进行聚类时,计算机设备可判断该新样本是否与现有的某个类(也就是簇)足够相似。如果是,则将该新样本***至该簇,如果否,则自成一类。其中,判断该新样本是否与现有的某个类足够相似具体可通过比较该新样本与某个类之间的距离是否小于距离阈值来判断,当小于距离阈值时,则说明该新样本与该类足够相似,否则,则不相似。
在一个实施例中,步骤S604还包括:当距离中的最小距离大于距离阈值时,确定当前已存在簇的数量;当数量小于预设数量时,创建新的簇,并将样本划分至新的簇;当数量等于预设数量时,将样本划分至最小距离所对应的簇。
在一个实施例中,当某个样本与现有簇的距离中的最小距离小于等于距离阈值时,计算机设备可将该样本划分至最小距离所对应的簇。当所有距离中的最小距离大于距离阈值时,计算机设备可确定当前已存在簇的数量,若当前已存在簇的数量小于预设数量时,则将该样本划分至新的簇。若当前已存在簇的数量等于预设数量时,则将样本划分至最小距离所对应的簇。这样,可保障簇的总数量为预设数量。
下面通过举例的方式详细说明对样本进行聚类的过程:
计算机设备可根据不同样本分别对应的第一特征向量,构建一个数据矩阵。比如,当有m个样本,每个样本有n个特征,也就是第一特征向量有n个元素,那就可构成一个m行n列的矩阵dataMat。每一行代表一个第一样本特征,列代表特征的维度。换言之,在n维欧几里德空间里面有m个点需要进行聚类。这样,就可将对样本的聚类转换成对点的聚类。
假设dataMat是一个m行n列的一个矩阵,每一行代表一个向量,n代表向量的维度。K表示在聚类的过程中允许形成的簇的最大个数;D表示距离阀值。在这里两个点之间的距离可以使用L
1、L
2或L
∞范数来表示。簇的质心定义为该类中所有点的平均值。比如,某个簇j包括A[0],A[1],…,A[n-1],那么该簇j的质心就是
并且,第j个簇中元素个数用num[j]表示。
步骤(1),对于dataMat[0]而言,自成一个簇。该簇的质心就是它本身C[0]=dataMat[0],该簇的元素个数就是num[0]=1,当前所有簇的个数是K=1。
步骤(2),对于每一个样本i,1<=i<=m-1,计算机设备均进行如下的循环操作:假设当前有K′个簇,第j个簇的质心是C[j],第j个簇的元素个数是num[j],其中,0<=j<=K′-1那么,计算机设备可通过以下公式计算样本i距各个簇的距离中的最小距离d=min0≤j≤K′- 1Distance(dataMat[i],C[j])。其中的Distance可以是欧几里德空间的L1、L2或L∞范数。该最小距离所对应的簇记为簇j′。
如果当前K′=K或者d≤D,则把dataMat[i]加入到第j′个聚簇。也就是说:质心更新为C[j′]<-(C[j′]*num[j]+dataMat[i])/(num[j]+1),该簇j′中元素的个数更新为num[j′]<-num[j′]+1。否则,dataMat[i]需要自成一类。意思就是K′<-K′+1,num[K′+1]=1,C[K′+1]=dataMat[i]。
上述实施例中,计算机设备可根据样本与现有簇之间的距离,对样本进行距离,从而得到多个簇。属于同一个簇的样本之间具有一定的相似性,不同簇之间的样本具体差异性,这样便于筛选异常样本。
在一个实施例中,计算机设备将全量样本进行聚类得到多个簇后,可分别从各个簇中抽取预设数量的样本。对抽取出的样本进行判别,当抽取出的样本的样本内容满足恶意条件时,则可将相应簇中的所有样本均作为恶意样本。这样,就无需对全量样本进行样本内容的判别,只需对各个簇中的部分样本的样本内容进行判别,大大提高了恶意样本的筛选效率。
在一个实施例中,该基于业务安全的分类模型训练方法还包括对待处理对象进行安全管控的步骤,该步骤具体包括:获取属于目标业务的待处理对象;通过训练得到的分类模型,对待处理对象进行分类处理,得到待处理对象的类别标签;当类别标签为恶意类别标签时,对待处理对象进行安全管控。
具体地,通过正常样本和异常样本训练得到的分类模型,可用于线上进行安全管控。计算机设备可获取属于目标业务的待处理对象。该待处理对象可以是目标业务中产生的任一用户账号或任一条用户生产内容,还可以是经过前其他方式筛选出的有异常的用户账号或用户生成内容。
进而,计算机设备可将待处理对象对应的特征向量输入至分类模型中,通过分类模型对特征向量进行处理,得到对待处理对象进行分类的类别标签。当该类别标签为恶意类别标签时,计算机设备可对该待处理对象进行安全管控。比如,计算机设备可向恶意用户账号所对应终端发送警告信息、限制该恶意用户账号发布信息的频率、限制该恶意用户账号加好友的频次、或封冻该恶意用户账号。当计算机设备识别出存在恶意用户生成内容时,可后台删除或关闭该恶意用户生成内容,以防止该恶意用户生成内容扩散。
上述实施例中,可通过训练好的分类模型实现对恶意内容的线上识别,大大提高了恶意内容的识别效率和准确性。
在一个实施例中,该基于业务安全的分类模型训练方法还包括更新分类模型的步骤,该步骤具体包括:从类别标签为恶意类别标签的待处理对象中,筛选相应内容满足恶意条件的恶意对象;将恶意对象加入至已有的恶意样本中,以更新恶意样本;根据更新后的恶意样本和正常样本对分类模型进行训练,以更新分类模型。
具体地,计算机设备在训练完分类模型,通过分类模型对目标业务进行安全管控的同时,还可基于管控的情况,更新分类模型。计算机设备通过训练好的分类模型对待处理对象进行分类处理,得到待处理对象所属的类别标签。当该待处理对象的类别标签为恶意类别标签时,计算机设备可辅助机器复查或人工复查检测该分类结果是否准确。当分类结果准确,也就是该待处理对象的内容确实满足恶意条件,那么计算机设备可将该恶意对象加入至已有的恶意样本中,以更新恶意样本。进而计算机设备可根据更新后的恶意样本和正常样本对分类模型进行训练,以更新分类模型。这样,随着时间的推移,通过分类模型所识别击到的恶意帐号或者恶意用户生成内容可以作为历史恶意样本积累起来,用于重新训练更新分类模型。
参考图8,图8为一个实施例中对目标业务进行安全管控的步骤的流程图。如图8所示,该对目标业务进行安全管控的步骤具体包括:S802,特征提取;S804,通过无监督机器学习算法进行异常检测;S806,输出异常样本;S808,人工审核并反馈结果;S810,更加正负样本库;S812;通过有监督机器学习算法对分类模型进行训练;S814,对目标业务进行安全管控。具体地,计算机设备可从目标业务的原始日志中确定出全量样本,进而对全量样本进行特征提取。接下来,计算机设备可通过无监督机器学习算法对全量样本进行异常检测,提供异常用户账号或异常UGC。工作人员可对这一批异常用户账号或异常UGC进行恶意识别,找出其中的恶意用户账号和恶意UGC,作为恶意样本。将全量样本减去恶意样本得到正常样本,这样就实现的正负样本分离,构建了正负样本库。再通过有监督机器学习算法基于恶意样本和正常样本对初始分类模型进行训练,得到训练好的分类模型。将分类模型应用在目标业务上,实现线上识别的闭环,也就是对目标业务进行安全管控。计算机设备还可将线上识别出的恶意对象进行人工复核,以将真正的恶意对象加入到正负样本库中,更新正负样本库,从而可以基于更新的正负样本库重新训练分类模型,以更新该分类模型。这样,可以不断地训练、使用和更新该分类模型,只需要借助少量的规则体系,就可以减缓人工的运维成本,长期来看可以有效地提升准确率和覆盖率的。
在具体应用场景中,可将上述安全对抗***应用在各种互联网产品中,比如即时通信应用、兴趣部落、或网络论坛等,可以有效的识别上述具体业务场景中存在的色情信息、垃圾消息、骚扰行为和盗取帐号等。通过能够做到准确率达到99%,覆盖率70%甚至更高的指标。
图2为一个实施例中基于业务安全的分类模型训练方法的流程示意图。应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图9所示,在一个实施例中,提供了基于业务安全的分类模型训练装置900,包括获取模块901、确定模块902、筛选模块903和训练模块904,其中:
获取模块901,用于获取目标业务的全量样本。
确定模块902,用于通过至少一种的异常检测方式对全量样本进行异常检测,从全量样本中确定出异常样本。
筛选模块903,用于从异常样本中筛选样本内容满足恶意条件的恶意样本。
确定模块902,还用于根据全量样本中除去恶意样本后的样本,确定正常样本。
训练模块904,用于基于恶意样本和正常样本对初始的分类模型进行训练,得到用于对目标业务进行安全管控的分类模型。
在一个实施例中,获取模块901还用于获取预设周期内基于目标业务所产生的日志文件;确定日志文件中出现的用户账号、及各用户账号对应的用户生成内容;将所有的用户账号或所有的用户生成内容,作为目标业务的全量样本。
在一个实施例中,获取模块901还用于获取目标业务的全量样本、以及全量样本中的各样本分别对应的第一样本特征。确定模块902,还用于通过至少一种的异常检测方式,分别基于各样本对应的第一样本特征,对全量样本进行异常检测,得到至少一组的候选异常样本;根据至少一组的候选异常样本的并集,从全量样本中筛选出异常样本。
在一个实施例中,获取模块901还用于获取预设周期内基于目标业务所产生的日志文件;日志文件包括用户账号、及与各用户账号对应的对象行为数据和用户生成内容;将日志文件中出现的全部的用户账号作为全量样本;获取与各用户账号分别对应的用户描述信息;根据各用户账号分别对应的对象行为数据、用户生成内容和用户描述信息,确定与各用户账号分别对应的第一样本特征。
在一个实施例中,获取模块901还用于获取预设周期内基于目标业务所产生的日志文件;将日志文件中出现的全部的用户生成内容作为全量样本;根据各用户生成内容分别包括的恶意内容,确定与各用户生成内容分别对应的第一样本特征。
在一个实施例中,确定模块902还用于获取全量样本中的各样本分别对应的第一样本特征;将每个样本各自对应的第一样本特征,分别输入至训练好的重构模型,得到对应的输出向量;基于各样本分别对应的第一样本特征和输出向量间的差异,确定各样本对应的误差值;将相应误差值满足异常条件的样本作为异常样本。
在一个实施例中,确定模块902还用于获取全量样本中的各样本分别对应的第一样本特征;基于各样本分别对应的第一样本特征,对全量样本进行聚类处理,得到多于一类的簇;根据各簇分别包括的样本的第一样本特征,确定各簇分别对应的特征均值;基于各簇分别对应的特征均值的特征分布,从簇中筛选出异常簇,并将异常簇中的样本作为异常样本。
在一个实施例中,确定模块902还用于确定当前已存在的不同簇;对于每个样本,根据相应的第一样本特征,分别计算样本与当前已存在的不同簇之间的距离;当距离中的最小距离小于等于距离阈值时,将样本划分至最小距离所对应的簇。
在一个实施例中,确定模块902还用于当距离中的最小距离大于距离阈值时,确定当前已存在簇的数量;当数量小于预设数量时,创建新的簇,并将样本划分至新的簇;当数量等于预设数量时,将样本划分至最小距离所对应的簇。
在一个实施例中,筛选模块903还用于确定恶意样本筛选方式;根据异常样本中各样本的样本内容,按照恶意样本筛选方式,从异常样本中筛选样本内容满足恶意条件的异常样本;将筛选出的异常样本标注为恶意样本。
在一个实施例中,训练模块904还用于确定恶意样本和正常样本各自对应的第二样本特征和类别标签;将恶意样本和正常样本各自对应的第二样本特征,分别作为初始的分类模型的输入数据;将与输入数据对应的类别标签作为训练标签;通过输入数据和相应的训练标签训练初始的分类模型,得到用于对目标业务进行安全管控的分类模型。
在一个实施例中,该基于业务安全的分类模型训练900还包括分类模块905和安全管控模块906,其中:
获取模块901还用于获取属于目标业务的待处理对象。
分类模块905,用于通过训练得到的分类模型,对待处理对象进行分类处理,得到待处理对象的类别标签。
安全管控模块906,用于当类别标签为恶意类别标签时,对待处理对象进行安全管控。
参考图10,在一个实施例中,该基于业务安全的分类模型训练装置900还包括更新模块907,其中:
筛选模块903还用于从类别标签为恶意类别标签的待处理对象中,筛选相应内容满足恶意条件的恶意对象。
更新模块907,用于将恶意对象加入至已有的恶意样本中,以更新恶意样本。
更新模块907还用于根据更新后的恶意样本和正常样本对分类模型进行训练,以更新分类模型。
上述基于业务安全的分类模型训练装置,通过至少一种的异常检测方式,对目标业务的全量样本进行异常检测,以从全量样本中找到异常样本。进而可从异常样本中筛选样本内容满足恶意条件的恶意样本,并根据全量样本中除去恶意样本后的样本确定正常样本。这样,就可以通过无监督的异常检测方式结合内容筛选,快速准确地将正负样本分离,从而通过正负样本来训练分类模型。这样,训练得到的分类模型就可在线上对目标业务进行安全管控,无需大量的人工实时更新维护判别筛选规则,大大减少了安全管控的成本。
图,11示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的计算机设备。如图11所示,该计算机设备包括该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作***,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现基于业务安全的分类模型训练方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行基于业务安全的分类模型训练方法。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的基于业务安全的分类模型训练装置可以实现为一种计算机程序的形式,计算机程序可在如图11所示的计算机设备上运行。计算机设备的存储器中可存储组成该基于业务安全的分类模型训练装置的各个程序模块,比如,图9所示的获取模块、确定模块、筛选模块和训练模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的基于业务安全的分类模型训练方法中的步骤。
例如,图11所示的计算机设备可以通过如图9所示的基于业务安全的分类模型训练装置中的获取模块执行步骤S202。计算机设备可通过确定模块执行步骤S204和S208。计算机设备可通过筛选模块执行步骤S206。计算机设备可通过训练模块执行步骤S210。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述基于业务安全的分类模型训练方法的步骤。此处基于业务安全的分类模型训练方法的步骤可以是上述各个实施例的基于业务安全的分类模型训练方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述基于业务安全的分类模型训练方法的步骤。此处基于业务安全的分类模型训练方法的步骤可以是上述各个实施例的基于业务安全的分类模型训练方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。