本发明专利技术公开了一种基于时序数据的推荐系统攻击检测方法,包括:利用用户-项目偏好程度数据集和频繁项集挖掘技术,得到用户组和项目组;为每对用户组和项目组计算组偏好程度值比例特征;将项目组中各项目的所有偏好程度按操作时间形成时序的偏好程度数据;为每对的用户组和项目组计算组偏好程度时间间隔特征;为用户组计算组平均熵特征;为每一用户组,选择其对应最大的组偏好程度值比例特征和最大的组偏好程度时间间隔特征,并依次利用上述三种特征对用户组进行排序,得到三个有序的用户组序列;综合所述三个有序的用户组序列,得到一个整体有序的用户组序列,从而得到最可能的攻击用户组;通过组偏好程度值比例特征得到最有可能的目标项目组。
【技术实现步骤摘要】
一种基于时序数据的推荐系统攻击检测方法
本专利技术涉及机器学习和模式识别领域,特别是机器学习中基于协同过滤的推荐系统攻击检测问题。
技术介绍
近年来,随着网络的飞速发展,人们每天都会面临大量的信息。面对成千上万的信息,人们疲于从中发现自己感兴趣的有价值的信息,推荐系统的出现可以使人们从海量的信息中解脱出来。推荐系统是一种信息过滤技术,它能够从大量的信息中筛选出用户感兴趣的有价值的内容并提供给用户,从而使用户从纷杂繁多的信息中解脱出来。常用的推荐系统技术有基于内容的推荐系统、基于协同过滤的推荐系统和混合推荐系统,其中最流行的是基于协同过滤的推荐系统,本专利技术中的算法和框架也是面向协同过滤技术的推荐系统。基于协同过滤的推荐系统收集并汇聚用户偏好信息,依托用户和项目的相似性度量对用户可能的偏好项目进行个性化预测。基于协同过滤的技术又可以分为最近邻协同过滤和基于模型的协同过滤。最近邻协同过滤利用最相似的若干个用户或项目的偏好来计算目标用户对目标项目的偏好程度,然后再向目标用户推荐其最感兴趣的项目;基于模型的协同过滤不直接操作已有偏好信息而得到预测值,而是使用已有偏好信息去训练模型再基于模型对项目进行偏好程度预测。虽然基于协同过滤的推荐系统能够比较准确的向用户推荐其可能感兴趣的项目,但是它比较容易受到用户概貌注入攻击的影响。因为协同过滤算法是利用用户和项目的相似性度量来发现用户可能感兴趣的项目,所以通过人为的制造大量与很多用户相似的虚假用户概貌信息并将其注入推荐系统,就能够对基于协同过滤的推荐系统产生严重的影响。由于需要大量与正常用户概貌相似的虚假用户概貌信息以及希望在较短的时间内影响目标项目,很多攻击用户往往会一起行动从而形成攻击用户组,又因为组攻击需要一定的成本,所以一组攻击用户常会去攻击多个目标项目,这些被攻击的目标项目就组成了目标项目组。现有的工作大多集中检测单个的攻击用户,鲜有工作能够检测攻击用户组和目标项目组。在真实的应用场景中,一组攻击用户一起攻击一组目标项目这样的组攻击行为是普遍存在的,例如电子商务中的专业差评集团和电影推荐网站上的专业水军公司等等。虽然这类组攻击行为在实际中是广泛存在的,但是却很少有工作研究如何检测组攻击行为,即同时检测攻击用户组和被该组攻击用户攻击的目标项目组。基于时序数据的推荐攻击检测算法通过深入分析组攻击行为的特点,提炼出三个组攻击检测特征,这三个特征分别是从偏好程度值、偏好程度时间和偏好程度分布的角度来描述组攻击行为的。我们实验也证明了基于时序数据的推荐系统攻击检测算法不仅能够检测最可能的攻击用户组,而且还可以检测被该组攻击用户攻击的目标项目组。
技术实现思路
已有的研究工作大多集中在利用用户-项目偏好程度数据的一些统计特征来检测单个攻击用户,它们没有考虑偏好程度数据的时序特性,且不能用来检测组攻击行为。本专利技术提出了一种基于时序数据的推荐攻击检测算法。该检测算法通过深入研究组攻击行为的特点,然后从偏好程度值的角度、偏好程度时间间隔的角度和偏好程度分布的角度分别提取了“组偏好程度值比例”、“组偏好程度时间间隔特征”和“组平均熵”特征,使用这三个组攻击检测特征能够很好的检测攻击用户组和对应的目标项目组。本专利技术提出的一种基于时序数据的推荐系统攻击检测方法,包括步骤:步骤S1:利用用户-项目偏好程度数据集和频繁项集挖掘技术,得到候选的多个用户组和候选的多个项目组;步骤S2:为每对用户组和项目组计算描述组攻击行为在偏好程度值上特性的组偏好程度值比例特征;步骤S3:将项目组中各项目的所有偏好程度按操作时间的先后顺序进行组织,形成时序的偏好程度数据;步骤S4:为每对的用户组和项目组计算组偏好程度时间间隔特征,捕获组攻击行为的时间间隔特性;步骤S5:为用户组计算组平均熵特征,从一组用户偏好程度分布的角度来检测组攻击行为;步骤S6:为每一用户组,选择其对应最大的组偏好程度值比例特征和最大的组偏好程度时间间隔特征,并依次利用上述三种特征对用户组进行排序,得到三个有序的用户组序列;步骤S7:利用排序聚集技术综合所述三个有序的用户组序列,得到一个整体有序的用户组序列,从而得到最可能的攻击用户组;步骤S8:通过组偏好程度值比例特征得到与所述最可能的攻击用户组对应的最有可能被攻击的目标项目组。本专利技术提出的基于时序数据的推荐系统攻击检测算法通过深入研究组攻击行为的特点,提出三个组攻击检测特征,这三个特征分别是从偏好程度值的角度、时间间隔的角度和偏好程度分布的角度来检测组攻击行为,从而使得该检测算法不仅能够检测最可能的攻击用户组,同时还能检测被该组攻击用户攻击的目标项目组,在真实的场景中有着重要的应用价值。上述方法不仅能够检测攻击用户组还能同时检测目标项目组,在组攻击数据集上有很好的检测效果。附图说明图1是本专利技术中基于时序数据的推荐系统攻击检测方法流程图。图2是利用本专利技术提出的攻击检测方法进行实验1的性能比较图。图3是利用本专利技术提出的攻击检测方法进行实验2的性能比较图。具体实施方式下面详细说明本专利技术技术方案中所涉及的各个细节问题。应指出的是,所描述的实施例旨在便于对本专利技术的理解,而对其不起任何限定作用。图1示出了本专利技术提出的基于时序数据的推荐系统攻击检测方法流程图。如图1所示,该方法包括如下步骤:步骤S1利用用户-项目偏好程度数据集和频繁项集挖掘技术,得到候选的用户组和候选的项目组;步骤S2基于第一步中得到的用户组和项目组,为每对用户组和项目组计算“组偏好程度值比例”特征,用来描述组攻击行为偏好程度值上的特性;步骤S3将项目组中各项目的所有偏好程度按操作时间的先后顺序进行组织,形成按时间有序的偏好程度数据;步骤S4为用户组和项目组对计算“组偏好程度时间间隔”特征,捕获组攻击行为的时间间隔特性;步骤S5为用户组计算“组平均熵”特征,从一组用户偏好程度分布的角度来检测组攻击行为;步骤S6对于各用户组,选择其对应最大的“组偏好程度值比例”特征和最大的“组偏好程度时间间隔”特征;依次利用上述三种特征,将用户组进行排序,从而得到三个有序的用户组序列;步骤S7利用排序聚集技术综合这三个有序的用户组序列,得到一个整体有序的用户组序列,从而可以得到最可能的攻击用户组;步骤S8通过“组偏好程度值比例”特征得到一个与用户组序列相对应的项目组序列,从而得到被攻击用户组攻击的目标项目组。下面详细介绍上述几个步骤。给定用户集U和项目集I,所有用户和所有项目构成集合D=U×I,所有用户的偏好程度rui构成了用户-项目偏好程度数据集,记为R。R={rui|(u,i)∈D}(1)在具体介绍各步骤之前,先介绍后面会使用的相关符号所表示的涵义。GU表示用户组集合,GI表示项目组集合,Gum表示第m个用户组,Gin表示第n个项目组,|Gum|表示第m个用户组中的用户个数,|Gin|表示第n个项目组中项目的个数。设置检测算法中的参数θ1和θ2,θ1和θ2是用于获取候选的用户组和项目组的两个参数。在本专利技术方法中,我们使用频繁项集挖掘技术来分别得到候选的用户组和项目组,而频繁项集挖掘技术需要人为设定最小支持度,故本专利技术方法中设置的θ1和θ2参数用于频繁项集挖掘技术。步骤S1中,利用用户-项目偏好程度数据集R来构造两个事务数据T1、T2,其中本文档来自技高网...
【技术保护点】
一种基于时序数据的推荐系统攻击检测算法,包括步骤:步骤S1:利用用户‑项目偏好程度数据集和频繁项集挖掘技术,得到候选的多个用户组和候选的多个项目组;步骤S2:为每对用户组和项目组计算描述组攻击行为在偏好程度值上特性的组偏好程度值比例特征;步骤S3:将项目组中各项目的所有偏好程度按操作时间的先后顺序进行组织,形成时序的偏好程度数据;步骤S4:为每对的用户组和项目组计算组偏好程度时间间隔特征,捕获组攻击行为的时间间隔特性;步骤S5:为用户组计算组平均熵特征,从一组用户偏好程度分布的角度来检测组攻击行为;步骤S6:为每一用户组,选择其对应最大的组偏好程度值比例特征和最大的组偏好程度时间间隔特征,并依次利用上述三种特征对用户组进行排序,得到三个有序的用户组序列;步骤S7:利用排序聚集技术综合所述三个有序的用户组序列,得到一个整体有序的用户组序列,从而得到最可能的攻击用户组;步骤S8:通过组偏好程度值比例特征得到与所述最可能的攻击用户组对应的最有可能被攻击的目标项目组。
【技术特征摘要】
1.一种基于时序数据的推荐系统攻击检测方法,包括步骤:步骤S1:利用用户-项目偏好程度数据集和频繁项集挖掘技术,得到候选的多个用户组和候选的多个项目组;步骤S2:为每对用户组和项目组计算组偏好程度值比例特征,所述组偏好程度值比例特征用于描述组攻击行为在偏好程度值上的特性;步骤S3:将项目组中各项目的所有偏好程度按操作时间的先后顺序进行组织,形成时序的偏好程度数据;步骤S4:为每对的用户组和项目组计算组偏好程度时间间隔特征,捕获组攻击行为的时间间隔特性;步骤S5:为用户组计算组平均熵特征,从一组用户偏好程度分布的角度来检测组攻击行为;步骤S6:为每一用户组,选择其对应最大的组偏好程度值比例特征和最大的组偏好程度时间间隔特征,并依次利用组偏好程度值比例特征、组偏好程度时间间隔特征和组平均熵特征对用户组进行排序,得到三个有序的用户组序列;步骤S7:利用排序聚集技术综合所述三个有序的用户组序列,得到一个整体有序的用户组序列,从而得到最可能的攻击用户组;步骤S8:通过组偏好程度值比例特征得到与所述最可能的攻击用户组对应的最有可能被攻击的目标项目组。2.根据权利要求1所述的方法,其特征在于:利用用户-项目偏好程度数据集和频繁项集挖掘技术得到候选的用户组和项目组,从而使攻击用户组和目标项目组包含于其中。3.根据权利要求1所述的方法,其特征在于:步骤S2中每对用户组和项目组的组偏好程度值比例如下计算:其中,为用户组集合GU中的第m个用户组,为项目组集合GI中的第n个项目组,GVRm...
【专利技术属性】
技术研发人员:王亮,吴书,王保兴,
申请(专利权)人:中国科学院自动化研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。