CN105677900A - 恶意用户检测方法及装置 - Google Patents

恶意用户检测方法及装置 Download PDF

Info

Publication number
CN105677900A
CN105677900A CN201610080571.XA CN201610080571A CN105677900A CN 105677900 A CN105677900 A CN 105677900A CN 201610080571 A CN201610080571 A CN 201610080571A CN 105677900 A CN105677900 A CN 105677900A
Authority
CN
China
Prior art keywords
user
injection
popular
users
example data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610080571.XA
Other languages
English (en)
Inventor
王有权
曹杰
潘迪
陶海成
朱桂祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Science and Technology
Original Assignee
Nanjing University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Science and Technology filed Critical Nanjing University of Science and Technology
Priority to CN201610080571.XA priority Critical patent/CN105677900A/zh
Publication of CN105677900A publication Critical patent/CN105677900A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0248Avoiding fraud
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0253During e-commerce, i.e. online transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • G06Q30/0256User search
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0263Targeted advertisements based upon Internet or website rating

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种恶意用户检测方法,包括:将各恶意用户注入到推荐***中,生成正例数据集合,所述正例数据集合中的每个正例数据包括一组行为特征,一组行为特征构成一组向量;对多组向量进行离散化处理;根据离散化处理的结果,从推荐***中的无标记用户中获取反例用户,生成反例数据集合;将正例数据集合和反例数据集合构成标记数据集,将无标记用户中获取反例用户后的剩余用户构成无标记数据集,根据标记数据集和无标记数据集,获取推荐***中的恶意用户,从而检测到隐藏更深的恶意用户。

Description

恶意用户检测方法及装置
技术领域
本发明涉及数据挖掘领域,尤其涉及一种推荐***中的恶意用户检测方法及装置。
背景技术
推荐***(英文:RecommenderSystems,缩写:RS)是一种为用户提供建议的智能化软件工具,目前已被应用于电子商务、电影和视频网站、社交网络、个性化阅读以及广告等诸多领域。
产品的评分越来越影响用户对产品的选择,高质量的正向评分无疑会为商家带来很多的经济收益;相反的,低评分则将给商家带来经济损失。基于这一商业目的,有些商家为了促进产品的销售或打压其他商家的信誉,将会雇佣大量的用户来为自己的产品打高分,同时给其他商家的产品低评分。目前国内已出现了通过指导恶意用户以促进特定产品销售或打压其他产品信誉来获利的网站,如“刷客网”。
在诸多的电子商务推荐***中,协同过滤推荐算法是应用最为广泛的推荐***算法。目前,国内外著名的推荐***大多都是基于协同过滤推荐算法的,如亚马逊(英文:Amazon)网络书店、GroupLens、TiVo、Netflix、YouTube和Facebook等。基于协同过滤推荐算法的推荐方法大多基于用户-项目矩阵(英文:User-ItemMatrix)进行推荐,该算法的优点是可对多种类型的资源进行过滤,并能为用户发现新的感兴趣的信息,其核心思想是通过找到与目标用户Ut最相似的k个相似用户,根据k个相似用户对项目Ii的评分预测Ut对项目Ii的评分。但该算法给恶意用户可乘之机,这些恶意用户通过伪造出与目标用户Ut相似的评分向量,就能影响Ut的预测评分,恶意用户实施的这种攻击称为托攻击(英文:shillingattack)。
为了解决这一问题,国内外学者进行了大量工作。目前大多的方法是:首先总结用户异于正常用户的行为特征,然后基于这些行为特征构造分类器来检测这些恶意用户。其中最为典型的算法是美国DePaul大学Mobasher,Burke和Williams等学者***定义了恶意用户检测指标,并提出了平均、随机、分段、流行和Love/Hate五种攻击类型,并基于C4.5决策树检测这些恶意用户。国内国防科技大学的李聪在其博士论文中从恶意用户行为特征的群体效应作为切入点,构建了定量度量和相应的遗传优化目标函数来实现恶意用户检测。华南大学的陈健等人在其专利《一种基于兴趣组合的协作推荐攻击检测***及方法》提出了基于用户兴趣组合挖掘模块的聚类分析方法检测恶意用户。上述方法通过捕捉恶意用户的异常行为成功的检测出了大量的恶意用户。但现实中,为了逃脱已有算法的检测,恶意用户通常将其评分方式接近于正常用户,目前的推荐***恶意用户检测方法难以有效地检测这些用户。如以亚马逊上的某一用户“chen---yanyan”为例,在其评论的商品中,其写了大量的有用评论,并且购买了大量的商品,表面上看来其属于正常用户,但仔细分析其评分的商品,可发现其所评分的所有商品均来自于同一商家“北京紫图图书有限公司”,因此有理由确认该用户是该公司的***。现实的推荐***中,往往存在大量的无标记用户(推荐***真实存在的用户,不通过检测无法判读其是正常用户或恶意用户)和少量的标记用户(即人工判别出的恶意用户),由于标记数据很少,如果直接用基于特征分类器,则检测效果不佳。
发明内容
本发明的目的是解决现有的推荐***恶意用户检测方法效果不佳的问题,通过基于正例和无标记(英文:PositiveandUnlabeled,缩写:PU)学习方法来检测多种恶意用户检测,其中P表示注入的恶意用户,而U表示无标记的推荐***数据,并提出了一种新颖的反例用户(英文:Negative,即异于正例用户行为特征的用户)数据抽取方法;其次,本发明提出的混合学习方法在集成Beyesian模型的基础上,将在恶意用户行为特征的基础上将用户-商品关系集成到该传统机器学习算法中,以检测隐藏更深的恶意用户;最后在抽取可靠反例用户的基础上,基于半监督学习来检测恶意用户,更好的利用标记数据和无标记数据,并通过实验验证了其有效性。
第一方面,本发明实施例提供了一种恶意用户检测方法,包括:
将各恶意用户注入到推荐***中,生成正例数据集合,所述正例数据集合中的每个正例数据包括一组行为特征,所述一组行为特征构成一组向量;
对多组所述向量进行离散化处理;
根据所述离散化处理的结果,从所述推荐***中的无标记用户中获取可靠反例用户,生成反例数据集合;
将所述正例数据集合和所述反例数据集合构成标记数据集,将所述无标记用户中获取反例用户后的剩余用户构成无标记数据集,根据所述标记数据集和所述无标记数据集,获取推荐***中的恶意用户。
优选地,所述恶意用户具体包括:随机注入、平均注入、流行随机注入、流行平均注入、混合随机流行注入、混合平均流行注入。
优选地,所述一组行为特征具体包括:熵、与近邻的平均相似度、长度变化、用户评过分项目与其平均值之间的平均偏差、用户评最高分的项目集合与其他评分项目集合的偏差、用户模型评过分项目与其平均值之间的二阶矩、用户模型对目标项目的关注度、流行排序、所有用户的平均距离、分类熵。
优选地,利用公式计算所述流行排序;
其中,PopRank为流行排序,Ij为所有为商品j打过分的用户集合,Ri为用户ui所有评过分的商品集合,|R.j|为对项目Ij打过分的所有用户的个数,|Ri.|为用户ui所有打过分商品的个数。
优选地,利用计算所述所有用户的平均距离;
其中,DistAvg为与所有用户的平均距离,N为所有用户个数,PCCij为用户ui和用户uj的皮尔逊相关系数。
优选地,利用计算所述分类熵;
其中,CatEnt为分类熵,Sig为用户ui所评分商品中属于类别g的个数,1≤g≤G,G为商品类别总个数,S为用户ui所评商品的总个数。
第二方面,本发明实施例提供了一种恶意用户检测装置,包括:所述装置包括:注入单元,处理单元,获取单元;
所述注入单元,用于将各恶意用户注入到推荐***中,生成正例数据集合,所述正例数据集合中的每个正例数据包括一组行为特征,所述一组行为特征构成一组向量;
所述处理单元,用于对多组所述向量进行离散化处理;
所述获取单元,用于根据所述离散化处理的结果,从所述推荐***中的无标记用户中获取可靠反例用户,生成反例数据集合;
所述获取单元还用于:将所述正例数据集合和所述反例数据集合构成标记数据集,将所述无标记用户中获取反例用户后的剩余用户构成无标记数据集,根据所述标记数据集和所述无标记数据集,获取推荐***中的恶意用户。
优选地,所述恶意用户具体包括:随机注入、平均注入、流行随机注入、流行平均注入、混合随机流行注入、混合平均流行注入。
优选地,所述一组行为特征具体包括:熵、与近邻的平均相似度、长度变化、用户评过分项目与其平均值之间的平均偏差、用户评最高分的项目集合与其他评分项目集合的偏差、用户模型评过分项目与其平均值之间的二阶矩、用户模型对目标项目的关注度、流行排序、所有用户的平均距离、分类熵。
本发明通过将各恶意用户注入到推荐***中,生成正例数据集合,所述正例数据集合中的每个正例数据包括一组行为特征,所述一组行为特征构成一组向量;对多组所述向量进行离散化处理;根据所述离散化处理的结果,从所述推荐***中的无标记用户中获取反例用户,生成反例数据集合;将所述正例数据集合和所述反例数据集合构成标记数据集,将所述无标记用户中获取反例用户后的剩余用户构成无标记数据集,根据所述标记数据集和所述无标记数据集,获取推荐***中的恶意用户,从而检测到隐藏更深的恶意用户。
附图说明
图1为本发明实施例一提供的恶意用户检测方法流程图;
图2为本发明实施例提供的恶意用户注入模型示意图;
图3为本发明实施例提供的整体框架图;
图4a为参数λ分析结果图;
图4b为参数d分析结果图;
图5为本发明实施例二提供的恶意用户检测装置结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为本发明实施例一提供的恶意用户检测方法流程图。如图1所示,本实施例包括以下步骤:
S110,将各恶意用户注入到推荐***中,生成正例数据集合,所述正例数据集合中的每个正例数据包括一组行为特征,所述一组行为特征构成一组向量。
具体的,人工注入到推荐***中的恶意用户,即恶意用户注入模型,通常被分为目标项目(英文:targetitems)、装填项目(英文:filleritems)及未评分项目(英文:non-votedItems),如图2所示,图2为本发明实施例提供的恶意用户注入模型示意图。注入的每个恶意用户即为一组正例数据,多个正例数据构成正例数据集合。
其中,目标项目是恶意用户试图提高或降低推荐排名的项目,恶意用户利用装填项目伪装成正常用户,并尽量多的成为正常用户的近邻。基于填充方式,本发明将装填项目分为随机填充模式(英文:random-fillermodel,缩写:RFM)和平均填充模式,为了进一步分类装填项目,本发明又将装填项目分为随机选择、流行选择和混合选择三种方式,产生了如下表1所示的随机注入(英文:randominjection,缩写:Ran)、平均注入(英文:averageinjection,缩写:Avg)、流行随机注入(英文:random-over-popular,缩写:RoP)、流行平均注入(英文:average-over-popular,缩写:AoP)、混合随机流行注入(英文:bandwagonrandomversion,缩写:BanRan)和混合平均流行注入(英文:bandwagonaverageversion,缩写:BanAvg)六种恶意用户注入模型。
其中,随机注入是对每个装填项目按照推荐***评分矩阵的平均值和方差的正态随机数作为其评分值;平均注入是取商品的所有打分的平均值;流行随机注入是首先选取top-x%最流行的商品,然后在这top-x%的流行商品中使用随机注入;流行平均注入则是是首先选取top-x%最流行的商品,然后在这top-x%的流行商品中使用平均注入;混合装填主要是将装填项目分为两个部分,其中少部分对最流行项目打高分或低分,随机流行注入将另外一部分装填项目使用随机注入方式,而平均流行注入则将另外一部分使用平均注入方式。根据上述六种恶意用户注入模型,然后选择其中一种注入模型即可作为正例数据。
其中,恶意用户注入模型如下表所示:
表1恶意用户注入模型
为了从无标记数据中找到恶意用户,本发明主要基于恶意用户的行为特征来检测这些用户,为此主要使用美国DePaul大学Williams等人总结并定义的熵(Entropy)、与近邻的平均相似度(DegSim)、长度变化(LengthVar)、用户评过分项目与其平均值之间的平均偏差(RDMA)、用户评最高分的项目集合与其他评分项目集合的偏差(FMTD)、用户模型评过分项目与其平均值之间的二阶矩(GFMV)和用户模型对目标项目的关注度(TMF)7个行为特征,本发明在此基础上定义了3个新的行为特征:流行排序(PopRank)、所有用户的平均距离(DistAvg)和分类熵(CatEnt),总计十个行为特征,每个正例数据的十个行为特征构成一组向量。其中,PopRank用于标注目标用户评分商品的流行程度,其公式如下:
PopRank i = Σ I j ∈ R i | R · j | | R i · | - - - ( 1 )
其中,Ij表示商品j,Ri表示用户ui所有评过分的商品集合,而|R.j|与|Ri.|分别表示对项目Ij打过分的所有用户的个数以及用户ui所有打过分商品的个数。
恶意用户为了影响大部分用户的预测评分,需要其与很多正常用户都非常相似,因此本发明定义用户ui与所有用户的平均距离DistAvg,其公式如下:
DistAvg i = Σ j = 1 N ( 1 - PCC i j ) N - - - ( 2 )
其中,N表示用户总个数,PCCij表示用户ui和用户uj的皮尔逊相关系数。
CatEnt的定义是基于一个基本假设:正常用户对商品的兴趣一般限定在某几个类别上,而恶意用户所选择的商品多是随机或者是流行商品。而电影推荐数据集MovieLens和Netflix通常给出了每部电影(对应于电子商务***中的商品)的分类。CatEnt的公式如下:
CatEnt i = - Σ g = 1 G S i g S log 2 S i g S - - - ( 3 )
其中,Sig表示用户ui所评分商品中属于类别g(其中1≤g≤G,G为商品类别总个数)的个数,而S表示用户ui所评商品的总个数。
S120,对多组所述向量进行离散化处理。
获取上述10个恶意用户异于正常用户的行为特征后,用户的10个行为特征的值可形成一个向量,即可对这些行为特征的值构成的向量进行离散化处理。
具体的,本发明主要基于U.M.Fayyad等人提出的最小化加权平均方差(WAV)方法将每个向量离散化为υ个类,即在该向量上发现υ-1个最佳分割点。该方法每次将每个分片上分割为两块:S1 v和S2 v,假设第v次分割时,则加权平均方差WAV的公式为:
WAV v S = | S 1 V | | S | V a r ( S 1 V ) + | S 2 V | | S | V a r ( S 2 V ) - - - ( 4 )
其中,|S|表示分片上点的个数,Var(|S1 v|)表示S1 v块上的方差,最佳的分割点将会得到最大值Δv,即分片上的最佳分割位置,其公式为:
Δv=Var(S)-WAVvS(5)
S130,根据所述离散化处理的结果,从所述推荐***中的无标记用户中获取可靠反例用户,生成反例数据集合。
其中,抽取可靠反例用户的目的是从推荐***中的无标记用户中抽取一个与正例用户显著不同的用户集合,从而形成二分类器来检测推荐***中的恶意用户。为了抽取可靠反例用户,在正例用户频繁出现的行为特征中,必须保证反例用户出现该行为特征的频率非常低。为此,本发明基于公式(6)来设定每个行为特征f的特征权重Df,特征权重Df越大,表明行为特征f在正例用户中出现的次数比较多,而在无标记用户中出现的次数比较少。根据特征权重值Df将离散化的行为特征从大到小排序,依次砍掉无标记用户的包含行为特征f的用户,直到无标记用户个数接近于正例用户的个数,停止迭代,从而获取可靠反例用户,抽取的可靠反例用户具有反例数据,多个反例数据构成反例数据集合。
D f = n P ( f ) l o g | P | + | U | n P ( f ) + n U ( f ) - - - ( 6 )
其中,nP(f)和nU(f)分别表示正例用户和无标记用户中包含行为特征f的个数,而|P|和|U|分别表示正例用户和无标记用户的总个数。
S140,将所述正例数据集合和所述反例数据集合构成标记数据集,将所述无标记用户中获取反例用户后的剩余用户构成无标记数据集,根据所述标记数据集和所述无标记数据集,获取所述推荐***中的恶意用户。
具体的,基于注入的正例数据集合P和抽取的反例数据集合RN就可形成一个两类标记数据集L,其中L=P∪RN,即正例数据集合和反例数据集合构成标记数据集,U-RN即无标记用户中获取可靠反例用户后的剩余用户构成无标记数据集,则恶意用户检测问题可看成一个二分类器。在本发明中假设每个恶意用户行为特征相互独立,本发明将基于朴素贝叶斯模型来初始化第i个用户类别xik的概率,分类标记用yk表示,其中k={0,1}(0表示正常用户,1表示恶意用户),在本发明中,每个连续行为特征被离散化为υ个特征-值对,而每个特征-值对的概率分布θkl初始值如式(7)所示,其满足在类别k上参数向量θk={θk1k2,…,θkm}(m=d*υ),d表示用户行为特征的个数。
θ k l = n k l + α n k + υ α - - - ( 7 )
其中,nkl表示第l个特征-值对在类别k上出现的次数,nk表示在类别k上出现的所有用户的个数,而α为拉普拉斯平滑参数,在本发明中α=1。离散化的每个用户特征-值对将会变成一个布尔值。则可用公式(8)计算每个用户xi在类别k上的概率p(xil|yk;θk)。
p ( x i l | y k ; θ k ) = θ k l , i f x i l = 1 0 , i f x i l = 0 - - - ( 8 )
基于以上描述,本发明建立了最大化条件似然分类模型,并在特征关系上集成用户-商品关系,其目标函数如公式(9)所示。
max log θ Π x i ∈ D { p ( y k | x i ; θ k ) } Λ i Π I j ∈ R i · p ( y k | I j ; θ k ) d | R i · | andΛ i = { λ , i f u i ∈ U 1 , i f u i ∈ L - - - ( 9 )
其中d∈[0,1],用于平衡特征集和用户-商品关系,而λ∈[0,1],其作用为调整无标记数据的影响权重。本发明使用半监督期望最大化(ExpectationMaximizationAlgorithm,EM)迭代算法不断更新参数来获取更好的分类结果。在E-Step迭代过程中,需要迭代计算用户xi在类别yk上的连乘概率p(xi|yk;θk)、商品Ij在yk上的连乘概率p(Ij|yk;θk)、商品Ij属于yk的概率p(yk|Ij;θk)以及用户xi属于yk的概率p(yk|xi;θk)的值,其计算公式如式(10)-(13)所示:
p ( x i | y k ; θ k ) = Π l = 1 d p ( x i l | y k ; θ j ) = Π l = 1 d θ j l - - - ( 10 )
p ( I j | y k ; θ k ) = Σ x i ∈ D L k Λ i j + λ Σ x i ∈ D U p ( y k | x i ; θ k ) Λ i j Σ x i ∈ D L Λ i j + λ Σ x i ∈ D U Λ i j , andΛ i j = { 0 , i f R i j = 0 1 , i f R i j = 1 - - - ( 11 )
p ( y k | I j ; θ k ) = ( Π x i ∈ R i · p ( I j | x i ; θ k ) ) d | R i · | - - - ( 12 )
p ( y k | x i ; θ k ) = p ( x i | y k ; θ k ) p ( x i | I j ; θ k ) p ( y k ) Σ k = 0 1 p ( x i | y k ; θ k ) p ( x i | I j ; θ k ) p ( y k ) - - - ( 13 )
其中,Rij表示用户-项目组成的评分均值中的评分值,如MovieLens和Amazon中的评分区间在0分至5分之间,0分表示用户i对项目j未评分,5分表示用户i对项目j打了最高分。DLk表示标记数据集中属于第yk类的用户,DU表示无标记数据集中的用户。而在M-Step中主要用于更新nkl,nk和yk的先验概率p(yk),其更新过程如式(14)-(16)所示。
n k l = Σ x i ∈ D L k x i l + λ Σ x i ∈ D U p ( y k | x i ; θ k ) x i l - - - ( 14 )
n k = | D L k | + λ Σ x i ∈ D U p ( y k | x i ; θ k ) - - - ( 15 )
p ( y k ) = λ Σ x i ∈ D U p ( y k | x i ; θ k ) + | D L k | λ | D U | + Σ k = 0 1 D L k - - - ( 16 )
图3为本发明实施例提供的整体框架图,在一个具体的实施例中,本发明的S110至S140可以细化为以下步骤。
第一阶段:用户行为特征产生和离散化。
步骤1,人工注入的其中一种恶意用户类型数据为正例数据,并构成正例数据集合P,以推荐***数据为无标记数据集合U,U中各用户的十个行为特征:Entropy、DegSim、LengthVar、FMTD、GFMV、TMF、PopRank、DistAvg和CatEnt,并设置聚类个数υ。
步骤2,选取行为特征fi(第i个特征),并在P+U(正例数据集合和无标记数据集合的行为特征fi组成一个集合)上进行排序,每个排序序列为S;
步骤3,判断当前的聚类个数v是否小于υ,如果小于υ执行步骤4,否则结束循环跳转到步骤6;
步骤4,选择当前各排序序列中包含用户最多的集合Sj(1≤j≤v),通过公式(4)计算Sj集合上每个分割点的WAVvS值,并基于公式(5)找到最大的分割点;
步骤5,找到最大的分割点后,将Sj分割成两个集合,并设置v=v+1,跳转到步骤3;
步骤6,如果P和U总集合上用户的行为特征值落在Sl区间,则将uil=1(i为P和U总集合的第i个用户,且(i-1)*υ+1≤l≤i*υ),如果不在该区间中,则uil=0;
步骤7,判断i是否小于等于10(行为特征总个数),如果小于,则i=i+1,并执行步骤2,否则结束第一阶段,并进入第二阶段。
第二阶段:可靠反例用户抽取
步骤8,选取第l(1≤l≤10*υ)个特征,分别在P和U上计算包含行为特征fl的个数nP(f)和nU(f);
步骤9,通过公式(6)计算特征权重值Dfl,判断l是否小于10*υ,如果小于则跳到步骤8,否则结束循环跳到步骤10;
步骤10,设置RN=U(将所有无标记用户都设置为可靠反例用户),将Dfl进行降序排序;
步骤11,选取第l个行为特征,将RN中所有uil=1的用户去掉;
步骤12,如果RN中反例数据的个数接近P中正例数据的个数,则将RN作为可靠反例数据,结束第二阶段并进入第三阶段,否则l=l+1,跳转到步骤11;
第三阶段:基于混合学习的恶意用户检测
步骤13,将P和第二阶段产生的可靠RN组成标记数据集L,将U-RN(无标记数据中砍掉可靠反例数据后的剩余所有数据)作为新的无标记数据,从而建立二分类器,首先计算第l个特征-值对在类别k上出现的次数nkl以及在类别k上出现用户的总个数nk,基于以上两个值即可计算θkl,然后初始化设置参数λ和d的值;
步骤14,使用公式(10)-(13)计算p(xi|yk;θk)、p(Ij|yk;θk)、p(yk|Ij;θk)以及p(yk|xi;θk);
步骤15,使用公式(14)、(15)、(7)和(16)计算nkl、nk、θkl和p(yk);
步骤16,通过判断每个θkl是否趋于稳定(即首先计算所有离散特征上一次迭代和本次迭代绝对值差,然后在找出最大的一个绝对值,判断其小于一个特征的阈值,如果小于该阈值则说明θkl趋于稳定),如果不稳定,跳到步骤14,否则结束循环;
步骤17,计算每个未标记用户yk=1(即未标记用户属于恶意用户)概率p(yk|xi;θk),如果p(yk|xi;θk)>0.5,则该用户为注入类型的恶意用户;
步骤18,在无标记数据集中删除这些恶意用户数据,然后注入一种新的恶意用户类型数据,跳转到步骤1开始检查这种新类型的恶意用户。
在本发明使用两个开源电影评分数据MovieLens和Netflix,如表2所示。其中MovieLens_u2.test是MovieLens100K上随机产生的一个数据集,而Netflix_s1则是从Netflix数据集中随机抽取3000个用户,然后删除电影被评价次数少于20的电影,最终获得6237部电影。在实验验证过程中,本发明在每个数据集中注入大概10%的攻击用户,即MovieLens数据集中注入120个混合类型恶意用户(表1中六种恶意用户类型,每种类型包括20个用户),而Netflix则注入300个混合类型(每种类型包括50个用户)。假设MovieLens和Netfix中的用户都为正常用户,新产生的两个数据集作为实验的测试数据集。
表2数据集
为了评估本发明的有效性,将沿用评估分类器的三个常用度量:Recall(R)和Precision(P)和F-Mesure(F),其计算公式分别如式(17)-(19)所示:
R = # t r u e p o s i t i v e s # t r u e p o s i t i v e s + # f a l s e n e g a t i v e s - - - ( 17 )
P = # t r u e p o s i t i v e s # t r u e p o s i t i v e s + # f a l s e p o s i t i v e s - - - ( 18 )
F = 2 P R P + R - - - ( 19 )
其中,#truepositives表示恶意用户被检测为恶意用户的数量,而#falsenegatives表示将恶意用户检测为正常用户的数量,#falsepositives表示正常用户被检测为恶意用户的数量。
本发明分别向MovieLens和Netflix数据集中注入50和150个恶意用户作为正例数据(P),并选用了朴素贝叶斯(英文:NaiveBayes,缩写:NB)、支持向量机(英文:SupportVectorMachine,缩写:SVM)和C4.5这3种连续化监督学习方法以及主成分分析(英文:PrincipalComponentAnalysis,缩写:PCA)、多维标度分析(英文:MultidimensionalScaling,缩写:MDS)这两种无监督方法,同时为了更清晰说明本发明离散化方法的有效性,本发明同时加入3种离散化监督学习方法,NB*、SVM*和C4.5*作为比较,本发明的方法用hPSD表示。NB、SVM和C4.5和NB*、SVM*和C4.5*利用开源数据挖掘工具Weka实现,而PCA和MDS通过MATLAB编程实现。
在第一组实验中,主要分析两个参数λ和d的取值,将参数λ和d的取值为0-0.9,步长为0.1,在MovieLens和Netflix两个数据集上的填充比例设置为10%和5%,实验结果如图4a和图4b所示,可以看出两个数据集在λ=0.5和d=0.2时获得最佳性能,因此本发明以后的实验将选用这两个参数。
第二组实验用于将本发明的方法(hPUD)和其他八种(NB*、SVM*和C4.5*、NB、SVM、C4.5、PCA和MDS)方法进行比较。试验中本发明算法设置为先选择随机注入方式,后选择平均注入方式,而8种比较算法则同时选择随机和平均混合注入作为正例数据,并从MovieLens_u1.base随机选择100个用户作为正常用户,从而构成标记数据集。测试数据集中MovieLens选择了5%、10%、15%和20%四种填充比例,而Netflix则选择了2%、5%、10%和15%四种填充比例,测试数据集每次同时注入表1所示的6种攻击类型,实验结果如表3所示。基于表3可以看出随着填充比例越来越高,各方法的检测结果越来越好,但本发明明显优于其他方法,从而说明本发明的方法能够比其他恶意用户检测方法检测出更多的恶意用户;同时NB*、SVM*和C4.5*检测结果优于NB、SVM、C4.5,表明特征离散化方法的有效性。
表3本发明的算法(hPUD)和其他方法的比较结果
图5为本发明实施例二提供的恶意用户检测装置结构示意图,如图5所示,恶意用户检测装置包括:注入单元510,处理单元520,获取单元530;
所述注入单元510,用于将各恶意用户注入到推荐***中,生成正例数据集合,所述正例数据集合中的每个正例数据包括一组行为特征,所述一组行为特征构成一组向量;
所述处理单元520,用于对多组所述向量进行离散化处理;
所述获取单元530,用于根据所述离散化处理的结果,从所述推荐***中的无标记用户中获取可靠反例用户,生成反例数据集合;
所述获取单元530还用于:将所述正例数据集合和所述反例数据集合构成标记数据集,将所述无标记用户中获取反例用户后的剩余用户构成无标记数据集,根据所述标记数据集和所述无标记数据集,获取推荐***中的恶意用户。
可选的,所述恶意用户具体包括:随机注入、平均注入、流行随机注入、流行平均注入、混合随机流行注入、混合平均流行注入。
可选的,所述一组行为特征具体包括:熵、与近邻的平均相似度、长度变化、用户评过分项目与其平均值之间的平均偏差、用户评最高分的项目集合与其他评分项目集合的偏差、用户模型评过分项目与其平均值之间的二阶矩、用户模型对目标项目的关注度、流行排序、所有用户的平均距离、分类熵。
应用本发明实施例提供的恶意用户检测方法,将各恶意用户注入到推荐***中,生成正例数据集合,所述正例数据集合中的每个正例数据包括一组行为特征,一组行为特征构成一组向量;对多组向量进行离散化处理;根据离散化处理的结果,从推荐***中的无标记用户中获取反例用户,生成反例数据集合;将正例数据集合和反例数据集合构成标记数据集,将无标记用户中获取反例用户后的剩余用户构成无标记数据集,根据标记数据集和无标记数据集,获取推荐***中的恶意用户,从而检测到隐藏更深的恶意用户。专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种恶意用户检测方法,其特征在于,所述方法包括:
将各恶意用户注入到推荐***中,生成正例数据集合,所述正例数据集合中的每个正例数据包括一组行为特征,所述一组行为特征构成一组向量;
对多组所述向量进行离散化处理;
根据所述离散化处理的结果,从所述推荐***中的无标记用户中获取可靠反例用户,生成反例数据集合;
将所述正例数据集合和所述反例数据集合构成标记数据集,将所述无标记用户中获取反例用户后的剩余用户构成无标记数据集,根据所述标记数据集和所述无标记数据集,获取推荐***中的恶意用户。
2.根据权利要求1所述的方法,其特征在于,所述恶意用户具体包括:随机注入、平均注入、流行随机注入、流行平均注入、混合随机流行注入、混合平均流行注入。
3.根据权利要求1所述的方法,其特征在于,所述一组行为特征具体包括:熵、与近邻的平均相似度、长度变化、用户评过分项目与其平均值之间的平均偏差、用户评最高分的项目集合与其他评分项目集合的偏差、用户模型评过分项目与其平均值之间的二阶矩、用户模型对目标项目的关注度、流行排序、所有用户的平均距离、分类熵。
4.根据权利要求2所述的方法,其特征在于,利用公式 PopRank i = Σ I j ∈ R i | R · j | | R i · | 计算所述流行排序;
其中,PopRank为流行排序,Ij为所有为商品j打分的用户集合,Ri.为用户ui所有评过分的商品集合,|R.j|为对项目Ij打过分的所有用户的个数,|Ri.|为用户ui所有打过分商品的个数。
5.根据权利要求2所述的方法,其特征在于,利用计算所述所有用户的平均距离;
其中,DistAvg为与所有用户的平均距离,N为所有用户个数,PCCij为用户ui和用户uj的皮尔逊相关系数。
6.根据权利要求2所述的方法,其特征在于,利用计算所述分类熵;
其中,CatEnt为分类熵,Sig为用户ui所评分商品中属于类别g的个数,1≤g≤G,G为商品类别总个数,S为用户ui所评商品的总个数。
7.一种恶意用户检测装置,其特征在于,所述装置包括:注入单元,处理单元,获取单元;
所述注入单元,用于将各恶意用户注入到推荐***中,生成正例数据集合,所述正例数据集合中的每个正例数据包括一组行为特征,所述一组行为特征构成一组向量;
所述处理单元,用于对多组所述向量进行离散化处理;
所述获取单元,用于根据所述离散化处理的结果,从所述推荐***中的无标记用户中获取可靠反例用户,生成反例数据集合;
所述获取单元还用于:将所述正例数据集合和所述反例数据集合构成标记数据集,将所述无标记用户中获取反例用户后的剩余用户构成无标记数据集,根据所述标记数据集和所述无标记数据集,获取推荐***中的恶意用户。
8.根据权利要求7所述的装置,其特征在于,所述恶意用户具体包括:随机注入、平均注入、流行随机注入、流行平均注入、混合随机流行注入、混合平均流行注入。
9.根据权利要求7所述的装置,其特征在于,所述一组行为特征具体包括:熵、与近邻的平均相似度、长度变化、用户评过分项目与其平均值之间的平均偏差、用户评最高分的项目集合与其他评分项目集合的偏差、用户模型评过分项目与其平均值之间的二阶矩、用户模型对目标项目的关注度、流行排序、所有用户的平均距离、分类熵。
CN201610080571.XA 2016-02-04 2016-02-04 恶意用户检测方法及装置 Pending CN105677900A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610080571.XA CN105677900A (zh) 2016-02-04 2016-02-04 恶意用户检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610080571.XA CN105677900A (zh) 2016-02-04 2016-02-04 恶意用户检测方法及装置

Publications (1)

Publication Number Publication Date
CN105677900A true CN105677900A (zh) 2016-06-15

Family

ID=56303564

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610080571.XA Pending CN105677900A (zh) 2016-02-04 2016-02-04 恶意用户检测方法及装置

Country Status (1)

Country Link
CN (1) CN105677900A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106101116A (zh) * 2016-06-29 2016-11-09 东北大学 一种基于主成分分析的用户行为异常检测***及方法
CN106326419A (zh) * 2016-08-24 2017-01-11 腾讯科技(深圳)有限公司 网络自动机处理方法及装置
CN106874427A (zh) * 2017-01-23 2017-06-20 华南理工大学 基于项目关联的托攻击检测方法
CN108170673A (zh) * 2017-12-26 2018-06-15 北京百度网讯科技有限公司 基于人工智能的信息格调识别方法和装置
WO2019109743A1 (zh) * 2017-12-07 2019-06-13 阿里巴巴集团控股有限公司 Url攻击检测方法、装置以及电子设备
CN113726785A (zh) * 2021-08-31 2021-11-30 平安普惠企业管理有限公司 网络入侵检测方法、装置、计算机设备以及存储介质
CN113807977A (zh) * 2021-09-02 2021-12-17 北京建筑大学 基于动态知识图谱的托攻击检测方法、***、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184364A (zh) * 2011-05-26 2011-09-14 南京财经大学 基于半监督学习的推荐***托攻击检测方法
CN102376063A (zh) * 2011-11-29 2012-03-14 北京航空航天大学 一种基于社会化标签的个性化推荐***优化方法
CN104811424A (zh) * 2014-01-26 2015-07-29 腾讯科技(深圳)有限公司 恶意用户识别方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184364A (zh) * 2011-05-26 2011-09-14 南京财经大学 基于半监督学习的推荐***托攻击检测方法
CN102376063A (zh) * 2011-11-29 2012-03-14 北京航空航天大学 一种基于社会化标签的个性化推荐***优化方法
CN104811424A (zh) * 2014-01-26 2015-07-29 腾讯科技(深圳)有限公司 恶意用户识别方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHIANG WU 等: ""Spammers Detection from Product Reviews:A Hybrid Model"", 《2015 IEEE INTERNATIONAL CONFERENCE ON DATA MINING》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106101116A (zh) * 2016-06-29 2016-11-09 东北大学 一种基于主成分分析的用户行为异常检测***及方法
CN106101116B (zh) * 2016-06-29 2019-01-08 东北大学 一种基于主成分分析的用户行为异常检测***及方法
CN106326419A (zh) * 2016-08-24 2017-01-11 腾讯科技(深圳)有限公司 网络自动机处理方法及装置
CN106326419B (zh) * 2016-08-24 2020-06-12 腾讯科技(深圳)有限公司 网络自动机处理方法及装置
CN106874427A (zh) * 2017-01-23 2017-06-20 华南理工大学 基于项目关联的托攻击检测方法
CN106874427B (zh) * 2017-01-23 2020-01-14 华南理工大学 基于项目关联的托攻击检测方法
WO2019109743A1 (zh) * 2017-12-07 2019-06-13 阿里巴巴集团控股有限公司 Url攻击检测方法、装置以及电子设备
CN108170673A (zh) * 2017-12-26 2018-06-15 北京百度网讯科技有限公司 基于人工智能的信息格调识别方法和装置
CN108170673B (zh) * 2017-12-26 2021-08-24 北京百度网讯科技有限公司 基于人工智能的信息格调识别方法和装置
CN113726785A (zh) * 2021-08-31 2021-11-30 平安普惠企业管理有限公司 网络入侵检测方法、装置、计算机设备以及存储介质
CN113726785B (zh) * 2021-08-31 2022-11-11 平安普惠企业管理有限公司 网络入侵检测方法、装置、计算机设备以及存储介质
CN113807977A (zh) * 2021-09-02 2021-12-17 北京建筑大学 基于动态知识图谱的托攻击检测方法、***、设备及介质

Similar Documents

Publication Publication Date Title
CN105677900A (zh) 恶意用户检测方法及装置
Wu et al. hPSD: a hybrid PU-learning-based spammer detection model for product reviews
Zhang et al. Detecting spammer groups from product reviews: a partially supervised learning model
Wu et al. HySAD: A semi-supervised hybrid shilling attack detector for trustworthy product recommendation
Dewang et al. State-of-art approaches for review spammer detection: a survey
Lu et al. Exploiting social context for review quality prediction
Wu et al. Spammers detection from product reviews: a hybrid model
CN104809243B (zh) 一种基于对用户行为复合因子进行挖掘的混合推荐方法
CN106355506B (zh) 一种在线社会网络中影响力最大化初始节点选取方法
CN107818105A (zh) 应用程序的推荐方法及服务器
Moise et al. Subspace and projected clustering: experimental evaluation and analysis
CN108415913A (zh) 基于不确定邻居的人群定向方法
Zhang et al. Novel density-based and hierarchical density-based clustering algorithms for uncertain data
Silva et al. Structural correlation pattern mining for large graphs
Zhang et al. Graph embedding-based approach for detecting group shilling attacks in collaborative recommender systems
CN108921604A (zh) 一种基于代价敏感分类器集成的广告点击率预测方法
CN109934615A (zh) 基于深度稀疏网络的产品营销方法
CN108304490A (zh) 基于文本的相似度确定方法、装置及计算机设备
CN104899229A (zh) 基于群体智能的行为聚类***
Li et al. Search engine click spam detection based on bipartite graph propagation
CN103810162A (zh) 推荐网络信息的方法和***
Cao et al. Collusion-aware detection of review spammers in location based social networks
CN109934681A (zh) 用户感兴趣商品的推荐方法
Fathaliani et al. A model-based approach for identifying spammers in social networks
CN106649380A (zh) 一种基于标签的热点推荐方法及***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160615

WD01 Invention patent application deemed withdrawn after publication