一种基于兴趣组合的协作推荐攻击检测系统及方法

文档序号:6334825阅读:166来源:国知局
专利名称:一种基于兴趣组合的协作推荐攻击检测系统及方法
技术领域
本发明属于网络应用技术,特别涉及一种基于兴趣组合的协作推荐攻击检测系统 及方法。
背景技术
基于Web的推荐系统已经在当前电子商务环境中得到了普遍的应用,它旨在通 过分析用户在电子商务系统中留下的记录信息,通过数据挖掘、模式识别等领域的方法分 析其可能感兴趣的内容,向用户进行推荐,以达到提升用户体验,赢得用户良好忠诚度的目 的。协同过滤(Collaborative Filtering)方法是目前推荐系统中使用的最广泛的方法之 一,它通过捕捉集成在Web站点中的用户行为模式和Web对象之间的关系,试图找出用户行 为与项目之间的联系,以便为用户做出推荐。所谓的用户行为模式,可以表达为用户的兴趣 偏好在其浏览或给予内容评分上的体现形式,即拥有相似兴趣偏好的用户,对于同一个内 容的喜好或评价也相似。但是由于协作过滤算法特点所带来的的开放性,即所有算法分析 所需要的数据皆来自于用户的行为,它极易受到外部恶意攻击行为的影响。部分竞争者可 以利用推荐系统使用用户数据进行分析的特点,伪造大量用户数据,并对某个目标个体进 行大幅度抬高或贬低,以期达到使算法对目标个体的预测产生巨大偏差,进而造成目标个 体在推荐时偏离事实的目的。推荐系统中的检测防御模型致力于使用数据挖掘及模式识别 技术自动识别系统中存在的潜在攻击用户,并通过比对、观察等方法对其进行确认判断,从 而将这些攻击用户对推荐系统做出的推荐结果产生的影响降至最低。现存的攻击检测模型 大多从分析攻击用户的行为特点入手,通过判别潜在攻击用户是否符合各种已知攻击用户 模式特征来考察其攻击行为,并不符合现实中,检测系统对攻击用户模型未知的实际情况。 而且由于已知攻击用户模型的有限性,这种攻击检测模型对于检测混合型攻击的效果并不
王困相

发明内容
本发明的首要目的在于克服上述现有技术的缺点与不足,提供一种结构简单、合 理的基于兴趣组合的协作推荐攻击检测系统,该系统可通过对项目集的聚类分析来挖掘用 户兴趣组合信息,并利用此兴趣组合信息作为标准判断特定用户是否属于对系统的恶意攻击者。本发明的另一目的还在于提供由上述系统实现的基于兴趣组合的协作推荐攻击 检测方法。为达上述目的,本发明采用如下的技术方案一种基于兴趣组合的协作推荐攻击检测系统,包括依次连接的用户信息记录模 块、用户信息存储模块、用户兴趣组合挖掘模块和攻击用户判定模块,所述用户兴趣组合挖 掘模块包括依次连接的聚类模块、过滤模块和兴趣组合确认模块,所述聚类模块与用户信 息存储模块连接,所述兴趣组合确认模块与攻击用户判定模块连接。
所述过滤模块包括兴趣类型偏好过滤模块和兴趣类型关注过滤模块,所述兴趣类 型偏好过滤模块、兴趣类型关注过滤模块分别与聚类模块连接,且均分别与兴趣组合确认 模块连接。所述攻击用户判定模块包括相互连接的目标用户分析模块和攻击用户认定模块, 所述目标用户分析模块与用户兴趣组合挖掘模块连接。所述目标用户分析模块包括依次连接的目标聚类模块、目标过滤模块和目标兴趣 组合确认模块,所述目标聚类模块与用户兴趣组合挖掘模块中的兴趣组合确认模块连接, 所述目标兴趣组合确认模块与攻击用户认定模块连接。其中所述用户信息记录模块,用于记录用户对不同项目的评分,响应用户在评分上进 行的修操作,收集用户的浏览记录等;所述用户信息存储模块将通过用户信息记录模块得到的用户评分信息保存在物 理存储中,在使用时通过矩阵的形式读出,矩阵列为所有项目资源的名称,矩阵行为每个用 户对相应资源的评分;所述用户兴趣组合挖掘模块,根据用户对各项目的评分值(兴趣评分)所产生 的聚类类型,利用兴趣类型偏好条件和兴趣类型关注条件进行过滤,得到标准用户兴趣组 合;所述攻击用户判定模块,以用户兴趣组合挖掘模块输出的标准用户兴趣组合的语 义组合作为标准,通过使用与用户兴趣组合挖掘模块内计算方法类似的计算流程计算目标 用户的用户兴趣组合,进而通过判断其是否符合标准来判断该用户是否属于攻击者。所述聚类模块,用于对各项目进行初始的语义聚类分析;过滤模块,用于对聚类模 块得到的聚类类型组合进行进一步的分析,得到满足兴趣类型偏好条件与兴趣类型关注条 件的聚类类型组合,作为候选用户兴趣组合;兴趣组合确认模块,用于对过滤模块得出的候 选用户兴趣组合进行进一步的分析与总结,输出的是标准用户兴趣组合(即正常用户的用 户兴趣组合)。目标用户分析模块,用于对目标用户的评分值进行分析,得到该目标用户的用户 兴趣组合;攻击认定模块,用于比对目标用户的用户兴趣组合与标准用户兴趣组合,给出关 于目标用户是否为攻击用户的确切答案。由上述系统实现的基于兴趣组合的协作推荐攻击检测方法,包括步骤(1)各用户分别对部分项目作出评价,并通过用户信息记录模块记录各用户给各 项目的已有评分信息;(2)步骤(1)中记录所得的评分信息发送至用户信息存储模块的物理存储中保 存,并通过用户信息存储模块建立用户-项目评分矩阵;所述用户-项目评分矩阵为一个结 构化的二维矩阵,其纵坐标为项目列表,横坐标为用户列表,每一个矩阵单元中存储的数据 为对应用户对给定项目的评分值;(3)用户兴趣组合挖掘模块根据用户-项目评分矩阵中的评分信息对各用户进行 聚类分析、过滤分析和兴趣组合确认,具体包括(3-1)聚类分析聚类模块根据步骤( 所得的用户-项目评分矩阵中,各用户对 各项目的评分值,按照设定的语义,对各项目进行初始的聚类分析,将各项目分为若干种聚类类型,并对各聚类类型分别赋予类型标号;各聚类类型之间分别构成聚类类型组合;对 各项目按照语义赋予其对应的聚类类型的标号;(3-2)过滤分析用户兴趣组合挖掘模块中的过滤模块通过由聚类模块得到的各 个聚类类型来统计各个用户在各种聚类类型上的评分数目;兴趣类型偏好过滤模块根据兴趣类型偏好条件对步骤(3-1)所得的聚类类型 组合进行兴趣类型偏好过滤,通过兴趣类型关注过滤模块根据兴趣类型关注条件对步骤 (3-1)所得的聚类类型组合进行兴趣类型关注过滤,排除没有典型代表性及不受重视的聚 类类型组合,得到候选用户兴趣组合,所述候选用户兴趣组合为过滤后剩下的聚类类型组 合;(3-3)兴趣组合确认兴趣组合确认模块对过滤模块分析过滤之后得到的候选用 户兴趣组合进行进一步分析确认,得到标准用户兴趣组合,所述标准用户兴趣组合满足InterestPattern = {Candidate (U1) U Candidate (u2) U . . . U Candidate (um)}, 其中InterestPattern为所求的标准用户兴趣组合,Candidate (Ui)为第i个候选用户兴趣 组合;(4)攻击用户判定模块选择一个目标用户,并对该目标用户进行分析,并进行攻击 用户认定,具体包括(4-1)目标用户分析目标用户分析模块根据用户-项目评分矩阵中的评分值,对 目标用户进行聚类分析、过滤分析及兴趣组合确认,得到该目标用户的用户兴趣组合;(4-2)攻击用户认定攻击认定模块将步骤得到的目标用户的用户兴趣组 合与步骤(3-3)得到的标准用户兴趣组合进行比较,若满足设定条件,则该用户为正常用 户,否则该目标用户为攻击模拟出的恶意用户,向系统输出判定结果;所述设定条件为|VU’ι ( MaxLength 且 Candidate(u’)gInterestPattern,其中,
|VU, I为该目标用户在用户-项目评分矩阵中的用户评分向量,MaxLength为用户为项目评 分的数量的最大值,其大小根据具体数据集中项目的数量而变化,一般不超过总项目数量 的5%。Candidate^')为步骤(4-1)得到的目标用户的用户兴趣组合,InterestPattern 为步骤(3- 得到的标准用户兴趣组合;(5)攻击用户判定模块检测是否所有的目标用户都已进行攻击用户认定,若是,则 完成;否则,执行步骤G),直到所有目标用户都完成攻击用户认定。所述步骤(3-2)中,所述兴趣类型偏好条件为若由两个聚类类型构成的聚类类 型组合满足MciS> δ M,则聚类类型组合为一个候选用户兴趣组合,否则为没有 典型代表性及不受重视的聚类类型,将其过滤掉;其中,Cj, Ci为所需判断的聚类类型组合的两个聚类类型,Mci为该用户的在用 户-项目评分矩阵中属于聚类类型Ci的评分值的记录数目,Mw为该用户的在用户-项目评 分矩阵中属于聚类类型G的评分值的记录数目,δ为设定的兴趣类型偏好下限系数,M为 该用户在用户-项目评分矩阵中的评分值的总记录数目。δ优选的取值范围为W,l],δΜ 为能够表征用户兴趣偏好类型的最小评分数量。兴趣类型偏好条件使用的方法为如果Ma ^ δ Μ,将类型标号Ci加入到候选项目 组合集Candidate (Ui)并计数(如果Ci已在Candidate (Ui)则只计数);其中Nci为该用户 对某类型项目作出的评价的个数,N为该用户的总评分数量,δ为兴趣类型偏好下限系数。
所述步骤(3-2)中,考虑到对于包含项目数目较少的类型,兴趣类型偏好条件会 将它们排除在外(即用户对该类型的评分的数量要小于能够表征兴趣偏好的最小评分数 量)。但若如果用户对某类型中的大多数项目都进行了评分,即其关注了某兴趣类型的大 多数项目,则认为该兴趣类型应有表征用户兴趣类型组合的能力。因此我们设置兴趣类型 关注系数θ,θ Ci为类别类型Ci可以被认为被重点关注所需的最小用户评分数量。因 此,所述兴趣类型关注条件为如果满足Ma彡θ I CiI,则该聚类类型Ci输出为一个候选用 户兴趣组合,其中Ma为该用户对一个项目作出的评价的个数,Cj为聚类类型 .的总项目 数量,θ为兴趣类型关注系数。兴趣类型关注条件使用的方法为如果Ma彡θ I C」,将类型标号&加入到候选项 目组合集Candidate (Ui)并计数(如果Cj已在Candidate (Ui)则只计数);其中Mci为该用 户对某类新项目作出的评价的个数,Cj为类型q的总项目数量,θ为兴趣类型关注系数。所述步骤G-1)具体包括(4-4-1)聚类分析目标聚类模块根据步骤(3-1)所得的用户-项目评分矩阵中, 按照设定的语义,将该目标用户对各项目的评分值进行初始的聚类分析,将各项目分为若 干种聚类类型,并对各聚类类型分别赋予类型标号;各聚类类型之间分别构成聚类类型组 合;对各项目按照语义赋予其对应的聚类类型的标号;(4-4-2)过滤分析目标过滤模块通过由目标聚类模块得到的各个聚类类型来统 计该用户在各种聚类类型上的评分数目;并根据兴趣类型偏好条件和兴趣类型关注条件 对步骤(4-4-1)所得的聚类类型组合过滤,排除没有典型代表性及不受重视的聚类类型组 合,得到该目标用户的候选用户兴趣组合,所述候选用户兴趣组合为过滤后剩下的聚类类 型组合;(4-4-3)兴趣组合确认目标兴趣组合确认模块对该目标用户的候选用户兴趣组 合进行一步分析确认,得到该目标用户的用户兴趣组合。所述步骤0-4-2)的兴趣类型偏好条件、兴趣类型关注条件与步骤(3-2)的的兴 趣类型偏好条件、兴趣类型关注条件一致。本发明的原理对现有的协作推荐系统的攻击一般指通过注入伪造的用户偏好数 据影响推荐系统预测,进而影响其向用户作出的推荐,来达到特定目的的行为。本发明从分 析项目语义所表征的用户兴趣组合入手,针对攻击数据中的随机性,通过本系统中的标准 用户兴趣组合与目标用户的用户兴趣组合来评判该目标用户是否属于恶意攻击用户,从而 区分攻击者与普通用户以期达到防御此类协作推荐攻击的目的,提高协作推荐系统的鲁棒 性及可靠性。该发明可用于电子商务网站、个性化电视节目定制服务、社交网络中的推荐服 务等。本发明针对协作推荐系统中注入攻击的原理,使用基于聚类分析的用户兴趣组合判 别,并对用户的评分值进行分析,利用分析得到的标准用户兴趣组合与目标用户的用户兴 趣组合之间的异同来判定目标用户是属于普通正常用户还是属于恶意攻击模拟出的用户 数据,进而将后者隔离于系统数据之外,达到攻击检测的目的。与现有技术相比,本发明具有如下优点和有益效果(1)本发明使用标准用户兴趣组合作为攻击检测的标准,避免了基于数理统计的 功法中预测特定攻击模型的问题,并能够较好的处理混合模型的攻击形式。(2)由于用户兴趣组合的语义聚类结果的正常用户偏好组合表达方式与攻击用户的偏好组合表达方式有较强的区别性,针对协同推荐攻击的检测,能够取得较高的效率与 准确性。(3)由于系统项目的语义分布不容易被攻击者所掌握,利用语义可以很大程度上 提高系统的可靠性和鲁棒性。


图1是本发明系统的结构示意图。图2是图1所示用户兴趣组合挖掘模块的结构示意图。图3是图1所示攻击用户判定模块的结构示意图。图4是本发明方法的流程图。
具体实施例方式下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限 于此。实施例如图1所示,本基于兴趣组合的协作推荐攻击检测系统,包括依次连接的用户信 息记录模块、用户信息存储模块、用户兴趣组合挖掘模块和攻击用户判定模块,如图2所 示,所述用户兴趣组合挖掘模块包括依次连接的聚类模块、过滤模块和兴趣组合确认模块, 所述聚类模块与用户信息存储模块连接,所述兴趣组合确认模块与攻击用户判定模块连 接。如图2所示,所述过滤模块包括兴趣类型偏好过滤模块和兴趣类型关注过滤模 块,所述兴趣类型偏好过滤模块、兴趣类型关注过滤模块分别与聚类模块连接,且均分别与 兴趣组合确认模块连接。如图3所示,所述攻击用户判定模块包括相互连接的目标用户分析模块和攻击用 户认定模块,所述目标用户分析模块与用户兴趣组合挖掘模块连接。所述目标用户分析模块包括依次连接的目标聚类模块、目标过滤模块和目标兴趣 组合确认模块,所述目标聚类模块与用户兴趣组合挖掘模块中的兴趣组合确认模块连接, 所述目标兴趣组合确认模块与攻击用户认定模块连接。其中所述用户信息记录模块,用于记录用户对不同项目的评分,响应用户在评分上进 行的修操作,收集用户的浏览记录等;所述用户信息存储模块将通过用户信息记录模块得到的用户评分信息保存在物 理存储中,在使用时通过矩阵的形式读出,矩阵列为所有项目资源的名称,矩阵行为每个用 户对相应资源的评分;所述用户兴趣组合挖掘模块,根据用户对各项目的评分值(兴趣评分)所产生 的聚类类型,利用兴趣类型偏好条件和兴趣类型关注条件进行过滤,得到标准用户兴趣组 合;所述攻击用户判定模块,以用户兴趣组合挖掘模块输出的标准用户兴趣组合的语 义组合作为标准,通过使用与用户兴趣组合挖掘模块内计算方法类似的计算流程计算目标用户的用户兴趣组合,进而通过判断其是否符合标准来判断该用户是否属于攻击者。所述聚类模块,用于对各项目进行初始的语义聚类分析;过滤模块,用于对聚类模 块得到的聚类类型组合进行进一步的分析,得到满足兴趣类型偏好条件与兴趣类型关注条 件的聚类类型组合,作为候选用户兴趣组合;兴趣组合确认模块,用于对过滤模块得出的候 选用户兴趣组合进行进一步的分析与总结,输出的是标准用户兴趣组合(即正常用户的用 户兴趣组合)。目标用户分析模块,用于对目标用户的评分值进行分析,得到该目标用户的用户 兴趣组合;攻击认定模块,用于比对目标用户的用户兴趣组合与标准用户兴趣组合,给出关 于目标用户是否为攻击用户的确切答案。如图4所示,由上述系统实现的基于兴趣组合的协作推荐攻击检测方法,包括步 骤(1)各用户分别对部分项目作出评价,并通过用户信息记录模块记录各用户给各 项目的已有评分信息;(2)步骤(1)中记录所得的评分信息发送至用户信息存储模块的物理存储中保 存,并通过用户信息存储模块建立用户-项目评分矩阵;所述用户-项目评分矩阵为一个结 构化的二维矩阵,其纵坐标为项目列表,横坐标为用户列表,每一个矩阵单元中存储的数据 为对应用户对给定项目的评分值;(3)用户兴趣组合挖掘模块根据用户-项目评分矩阵中的评分信息对各用户进行 聚类分析、过滤分析和兴趣组合确认,具体包括(3-1)聚类分析聚类模块根据步骤( 所得的用户-项目评分矩阵中,各用户对 各项目的评分值,按照设定的语义,对各项目进行初始的聚类分析,将各项目分为若干种聚 类类型,并对各聚类类型分别赋予类型标号;各聚类类型之间分别构成聚类类型组合;对 各项目按照语义赋予其对应的聚类类型的标号;(3-2)过滤分析用户兴趣组合挖掘模块中的过滤模块通过由聚类模块得到的各 个聚类类型来统计各个用户在各种聚类类型上的评分数目;兴趣类型偏好过滤模块根据兴趣类型偏好条件对步骤(3-1)所得的聚类类型 组合进行兴趣类型偏好过滤,通过兴趣类型关注过滤模块根据兴趣类型关注条件对步骤 (3-1)所得的聚类类型组合进行兴趣类型关注过滤,排除没有典型代表性及不受重视的聚 类类型组合,得到候选用户兴趣组合,所述候选用户兴趣组合为过滤后剩下的聚类类型组 合;(3-3)兴趣组合确认兴趣组合确认模块对过滤模块分析过滤之后得到的候选用 户兴趣组合进行进一步分析确认,得到标准用户兴趣组合,所述标准用户兴趣组合满足InterestPattern = {Candidate (U1) U Candidate (u2) U . . . U Candidate (um)}, 其中InterestPattern为所求的标准用户兴趣组合,Candidate (Ui)为第i个候选用户兴趣 组合;(4)攻击用户判定模块选择一个目标用户,并对该目标用户进行分析,并进行攻击 用户认定,具体包括(4-1)目标用户分析目标用户分析模块根据用户-项目评分矩阵中的评分值,对 目标用户进行聚类分析、过滤分析及兴趣组合确认,得到该目标用户的用户兴趣组合;
(4-2)攻击用户认定攻击认定模块将步骤得到的目标用户的用户兴趣组 合与步骤(3-3)得到的标准用户兴趣组合进行比较,若满足设定条件,则该用户为正常用 户,否则该目标用户为攻击模拟出的恶意用户,向系统输出判定结果;所述设定条件为IVu’ I ( MaxLength 且 Candidate(u’)gInterestPattern,其中,
|VU, I为该目标用户在用户-项目评分矩阵中的用户评分向量,MaxLength为用户为项目评 分的数量的最大值,其大小根据具体数据集中项目的数量而变化,一般不超过总项目数量 的5% ;Candidate^')为步骤(4-1)得到的目标用户的用户兴趣组合,InterestPattern 为步骤(3- 得到的标准用户兴趣组合;(5)攻击用户判定模块检测是否所有的目标用户都已进行攻击用户认定,若是,则 完成;否则,执行步骤G),直到所有目标用户都完成攻击用户认定。所述步骤(3-2)中,所述兴趣类型偏好条件为若由两个聚类类型构成的聚类类 型组合满足MciS> δ M,则聚类类型组合为一个候选用户兴趣组合,否则为没有 典型代表性及不受重视的聚类类型,将其过滤掉;其中,Cj, Ci为所需判断的聚类类型组合的两个聚类类型,Mci为该用户的在用 户-项目评分矩阵中属于聚类类型Ci的评分值的记录数目,Mw为该用户的在用户-项目评 分矩阵中属于聚类类型G的评分值的记录数目,δ为设定的兴趣类型偏好下限系数,M为 该用户在用户-项目评分矩阵中的评分值的总记录数目。δ优选的取值范围为W,l],δΜ 为能够表征用户兴趣偏好类型的最小评分数量。兴趣类型偏好条件使用的方法为如果Ma ^ δ Μ,将类型标号Ci加入到候选项目 组合集Candidate (Ui)并计数(如果Ci已在Candidate (Ui)则只计数);其中Nci为该用户 对某类型项目作出的评价的个数,N为该用户的总评分数量,δ为兴趣类型偏好下限系数。所述步骤(3-2)中,考虑到对于包含项目数目较少的类型,兴趣类型偏好条件会 将它们排除在外(即用户对该类型的评分的数量要小于能够表征兴趣偏好的最小评分数 量)。但若如果用户对某类型中的大多数项目都进行了评分,即其关注了某兴趣类型的大 多数项目,则认为该兴趣类型应有表征用户兴趣类型组合的能力。因此我们设置兴趣类型 关注系数θ,θ Ci为类别类型Ci可以被认为被重点关注所需的最小用户评分数量。因 此,所述兴趣类型关注条件为如果满足Ma彡θ I CiI,则该聚类类型Ci输出为一个候选用 户兴趣组合,其中Ma为该用户对一个项目作出的评价的个数,Cj为聚类类型 .的总项目 数量,θ为兴趣类型关注系数。兴趣类型关注条件使用的方法为如果θ I C」,将类型标号&加入到候选项 目组合集Candidate (Ui)并计数(如果Cj已在Candidate (Ui)则只计数);其中Mci为该用 户对某类新项目作出的评价的个数,Cj为类型q的总项目数量,θ为兴趣类型关注系数。所述步骤G-1)具体包括(4-4-1)聚类分析目标聚类模块根据步骤(3-1)所得的用户-项目评分矩阵中, 按照设定的语义,将该目标用户对各项目的评分值进行初始的聚类分析,将各项目分为若 干种聚类类型,并对各聚类类型分别赋予类型标号;各聚类类型之间分别构成聚类类型组 合;对各项目按照语义赋予其对应的聚类类型的标号;(4-4-2)过滤分析目标过滤模块通过由目标聚类模块得到的各个聚类类型来统 计该用户在各种聚类类型上的评分数目;并根据兴趣类型偏好条件和兴趣类型关注条件对步骤(4-4-1)所得的聚类类型组合过滤,排除没有典型代表性及不受重视的聚类类型组 合,得到该目标用户的候选用户兴趣组合,所述候选用户兴趣组合为过滤后剩下的聚类类 型组合;(4-4-3)兴趣组合确认目标兴趣组合确认模块对该目标用户的候选用户兴趣组 合进行一步分析确认,得到该目标用户的用户兴趣组合。所述步骤0-4-2)的兴趣类型偏好条件、兴趣类型关注条件与步骤(3-2)的的兴 趣类型偏好条件、兴趣类型关注条件一致。所述步骤(3-2)中,由用户兴趣组合挖掘模块中过滤分析模块完成。对由聚类分 析模块得到的聚类类型,统计所有用户评分记录在各类型上的评分数目;通过兴趣类型偏 好条件与兴趣类型关注条件对类型进行过滤,排除那些没有典型代表性及不受重视的兴趣 组合,得到用户兴趣组合的语义组合。兴趣类型偏好过滤由兴趣类型偏好过滤模块完成,兴趣类型关注过滤由兴趣类型 关注模块完成。a)扫描事务矩阵A(m,n),对于任一用户评分向量Vui = {Rn,Ri2,…,Rin},统计属 于各类型的评分数目Mui= {MC1, Mc2, ...,MCe}。b)如果Ma彡δ Μ,将类型标号Ci加入到候选用户兴趣组合Candidate (Ui)并计数 (如果Ci已在Candidate (Ui)则只计数);其中Ma为该用户对某类型项目作出的评价的个 数,M为该用户的总评分数量,δ为兴趣类型偏好系数。设某一用户U,一共对M个项目进行了评分,其中有Mci个属于聚类类型Ci, Mcj个 属于聚类类型Cp指定兴趣类型偏好下限系数δ,δ M为能够表征用户兴趣偏好类型的最小 评分数量。若δΜ且δ M,即用户对该类型的评分数量不小于能表征用户兴趣 偏好类型的最小评分数量,则CiCj为一个候选用户兴趣组合,如果多个用户(满足指定的最 小用户数)均符合这个组合,则将输出为CiCj 一个正式的用户兴趣组合。该下限描述的是 用户对某个或某些项目的偏好,因此满足条件的类型也可能是0个或多个。C)如果Mei彡I θ Ci I,将类型标号Cj加入到候选项目组合集Candidate (Ui)并计 数(如果Cj已在Candidate (Ui)则只计数);其中Mci为该用户对某类型项目作出的评价的 个数,|c」为类型 .的总项目数量,θ为兴趣类型关注系数。考虑到对于包含项目数目较少的类型,兴趣类型偏好条件会将它们排除在外(即 用户对其评分的数量要小于用户兴趣偏好类型的最小评分数量)。但若如果用户对某类型 中的大多数项目都进行了评分,即他关注了某兴趣类型的大多数项目,则认为该类型随对 应的类型应有表征用户兴趣组合的能力。因此我们设置兴趣类型关注系数θ,θ Ci为类 型Ci可以被认为被严重关注所需的最少用户评分数量,如果用户U —共对类型Ci中的Mci 个项目进行了评分,且满足Mra彡θ I C」,即用户对该类型的评分数量不小于能达到关注标 准的最小评分数量,则Ci输出为一个项目组合。该关注条件描述了用户对某类项目的关注 度。本发明的流程用户评分步骤为用户为已有的部分项目作出评价,这些评价由用 户信息记录模块搜集存储与用户信息存储模块中,用户信息存储模块保证后续模块在读出 用户评分信息时是以用户-项目评分矩阵的形式读出;聚类分析步骤使用上述用户兴趣组 合挖掘模块中的聚类模块,对用户-项目评分矩阵的项目集进行聚类分析,输出为项目集上的聚类类型以及聚类类型对应的项目;判定兴趣类型偏好条件与判定兴趣类型关注条件 皆在用户兴趣组合挖掘模块中的过滤模块完成,它将上一步得到的聚类类型组合通过具体 的条件约束过滤部分非典型或不受重视的兴趣组合,从而使聚类类型组合更好地表征系统 中正常用户的用户兴趣组合;兴趣组合确认模块在两个判定条件的基础上,进一步对剩下 的聚类类型组合进行条件约束,其主要是由用户兴趣挖掘模块中的兴趣组合确认模块完成 的;目标用户分析模块对特定目标用户进行用户兴趣组合识别,其输入为特定目标用户在 用户信息存储模块中的相应评分信息,输出为特定目标用户的用户兴趣组合;攻击用户认 定则是通过判定特定目标用户的用户兴趣组合是否与用户兴趣组合挖掘模块中得到的标 准用户兴趣组合相符来判断特定目标用户是否为攻击用户。为了判别系统中所有攻击用 户,本发明所提出的模型将尝试检测所有选定的目标用户,直至对其检测完全结束才视为 一次完整的检测过程。本发明的原理对现有的协作推荐系统的攻击一般指通过注入伪造的用户偏好数 据影响推荐系统预测,进而影响其向用户作出的推荐,来达到特定目的的行为。本发明从分 析项目语义所表征的用户兴趣组合入手,针对攻击数据中的随机性,通过本系统中的标准 用户兴趣组合与目标用户的用户兴趣组合来评判该目标用户是否属于恶意攻击用户,从而 区分攻击者与普通用户以期达到防御此类协作推荐攻击的目的,提高协作推荐系统的鲁棒 性及可靠性。该发明可用于电子商务网站、个性化电视节目定制服务、社交网络中的推荐服 务等。本发明针对协作推荐系统中注入攻击的原理,使用基于聚类分析的用户兴趣组合判 别,并对用户的评分值进行分析,利用分析得到的标准用户兴趣组合与目标用户的用户兴 趣组合之间的异同来判定目标用户是属于普通正常用户还是属于恶意攻击模拟出的用户 数据,进而将后者隔离于系统数据之外,达到攻击检测的目的。上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的 限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化, 均应为等效的置换方式,都包含在本发明的保护范围之内。
权利要求
1.一种基于兴趣组合的协作推荐攻击检测系统,其特征在于包括依次连接的用户信 息记录模块、用户信息存储模块、用户兴趣组合挖掘模块和攻击用户判定模块,所述用户兴 趣组合挖掘模块包括依次连接的聚类模块、过滤模块和兴趣组合确认模块,所述聚类模块 与用户信息存储模块连接,所述兴趣组合确认模块与攻击用户判定模块连接。
2.根据权利要求1所述的基于兴趣组合的协作推荐攻击检测系统,其特征在于所述 过滤模块包括兴趣类型偏好过滤模块和兴趣类型关注过滤模块,所述兴趣类型偏好过滤模 块、兴趣类型关注过滤模块分别与聚类模块连接,且均分别与兴趣组合确认模块连接。
3.根据权利要求2所述的基于兴趣组合的协作推荐攻击检测系统,其特征在于所述 攻击用户判定模块包括相互连接的目标用户分析模块和攻击用户认定模块,所述目标用户 分析模块与用户兴趣组合挖掘模块连接。
4.根据权利要求3所述的基于兴趣组合的协作推荐攻击检测系统,其特征在于所述 目标用户分析模块包括依次连接的目标聚类模块、目标过滤模块和目标兴趣组合确认模 块,所述目标聚类模块与用户兴趣组合挖掘模块中的兴趣组合确认模块连接,所述目标兴 趣组合确认模块与攻击用户认定模块连接。
5.由权利要求1 4任一项所述系统实现的基于兴趣组合的协作推荐攻击检测方法, 其特征在于,包括步骤(1)各用户分别对部分项目作出评价,并通过用户信息记录模块记录各用户给各项目 的已有评分信息;(2)步骤(1)中记录所得的评分信息发送至用户信息存储模块的物理存储中保存,并 通过用户信息存储模块建立用户-项目评分矩阵;所述用户-项目评分矩阵为一个结构化 的二维矩阵,其纵坐标为项目列表,横坐标为用户列表,每一个矩阵单元中存储的数据为对 应用户对给定项目的评分值;(3)用户兴趣组合挖掘模块根据用户-项目评分矩阵中的评分信息对各用户进行聚类 分析、过滤分析和兴趣组合确认,具体包括(3-1)聚类分析聚类模块根据步骤( 所得的用户-项目评分矩阵中,各用户对各项 目的评分值,按照设定的语义,对各项目进行初始的聚类分析,将各项目分为若干种聚类类 型,并对各聚类类型分别赋予类型标号;各聚类类型之间分别构成聚类类型组合;对各项 目按照语义赋予其对应的聚类类型的标号;(3-2)过滤分析用户兴趣组合挖掘模块中的过滤模块通过由聚类模块得到的各个聚 类类型来统计各个用户在各种聚类类型上的评分数目;兴趣类型偏好过滤模块根据兴趣类型偏好条件对步骤(3-1)所得的聚类类型组合进 行兴趣类型偏好过滤,通过兴趣类型关注过滤模块根据兴趣类型关注条件对步骤(3-1)所 得的聚类类型组合进行兴趣类型关注过滤,排除没有典型代表性及不受重视的聚类类型组 合,得到候选用户兴趣组合,所述候选用户兴趣组合为过滤后剩下的聚类类型组合;(3-3)兴趣组合确认兴趣组合确认模块对过滤模块分析过滤之后得到的候选用户兴 趣组合进行进一步分析确认,得到标准用户兴趣组合,所述标准用户兴趣组合满足InterestPattern = {Candidate (U1) U Candidate (u2) U . . . U Candidate (um)}, ^ 中InterestPattern为所求的标准用户兴趣组合,Candidate (Ui)为第i个候选用户兴趣组 合;(4)攻击用户判定模块选择一个目标用户,并对该目标用户进行分析,并进行攻击用户 认定,具体包括(4-1)目标用户分析目标用户分析模块根据用户-项目评分矩阵中的评分值,对目标 用户进行聚类分析、过滤分析及兴趣组合确认,得到该目标用户的用户兴趣组合;(4-2)攻击用户认定攻击认定模块将步骤得到的目标用户的用户兴趣组合与 步骤(3-3)得到的标准用户兴趣组合进行比较,若满足设定条件,则该用户为正常用户,否 则该目标用户为攻击模拟出的恶意用户,向系统输出判定结果;所述设定条件为|VU, I ≥ MaxLength 且 Candidate(u’)gInterestPattern,其中,|VU, I为该目标用户在用户-项目评分矩阵中的用户评分向量,MaxLength为用户为项目 评分的数量的最大值;CandidateOi’ )为步骤得到的目标用户的用户兴趣组合, InterestPattern为步骤(3- 得到的标准用户兴趣组合;(5)攻击用户判定模块检测是否所有的目标用户都已进行攻击用户认定,若是,则完 成;否则,执行步骤G),直到所有目标用户都完成攻击用户认定。
6.根据权利要求5所述的基于兴趣组合的协作推荐攻击检测方法,其特征在于,所 述步骤(3-2)中,所述兴趣类型偏好条件为若由两个聚类类型构成的聚类类型组合满足 Mci ^.≤δ M,则聚类类型组合为一个候选用户兴趣组合,否则为没有典型代表性 及不受重视的聚类类型,将其过滤掉;其中,CpCi为所需判断的聚类类型组合的两个聚类类型,Mra为该用户的在用户-项目 评分矩阵中属于聚类类型Ci的评分值的记录数目,Mw为该用户的在用户-项目评分矩阵中 属于聚类类型G的评分值的记录数目,δ为设定的兴趣类型偏好下限系数,M为该用户在 用户-项目评分矩阵中的评分值的总记录数目。
7.根据权利要求6所述的基于兴趣组合的协作推荐攻击检测方法,其特征在于,所述 步骤(3-2)中,所述兴趣类型关注条件为如果满足Mra彡θ I C」,则该聚类类型Ci输出为 一个候选用户兴趣组合,其中Mra为该用户对一个项目作出的评价的个数,|C」为聚类类型 Cj的总项目数量,θ为兴趣类型关注系数。
8.根据权利要求7所述的基于兴趣组合的协作推荐攻击检测方法,其特征在于,所述 步骤具体包括(4-4-1)聚类分析目标聚类模块根据步骤(3-1)所得的用户-项目评分矩阵中,按 照设定的语义,将该目标用户对各项目的评分值进行初始的聚类分析,将各项目分为若干 种聚类类型,并对各聚类类型分别赋予类型标号;各聚类类型之间分别构成聚类类型组合; 对各项目按照语义赋予其对应的聚类类型的标号;(4-4-2)过滤分析目标过滤模块通过由目标聚类模块得到的各个聚类类型来统计该 用户在各种聚类类型上的评分数目;并根据兴趣类型偏好条件和兴趣类型关注条件对步骤 (4-4-1)所得的聚类类型组合过滤,排除没有典型代表性及不受重视的聚类类型组合,得到 该目标用户的候选用户兴趣组合,所述候选用户兴趣组合为过滤后剩下的聚类类型组合;(4-4-3)兴趣组合确认目标兴趣组合确认模块对该目标用户的候选用户兴趣组合进 行一步分析确认,得到该目标用户的用户兴趣组合。
9.根据权利要求权利要求7所述的基于兴趣组合的协作推荐攻击检测方法,其特征在 于,所述步骤(4-4- 的兴趣类型偏好条件、兴趣类型关注条件与步骤(3- 的的兴趣类型偏好条件、兴趣类型关注条件一致。
全文摘要
本发明提供了一种基于兴趣组合的协作推荐攻击检测系统及方法,该系统包括依次连接的用户信息记录模块、用户信息存储模块、用户兴趣组合挖掘模块和攻击用户判定模块,所述用户兴趣组合挖掘模块包括依次连接的聚类模块、过滤模块和兴趣组合确认模块,所述聚类模块与用户信息存储模块连接,所述兴趣组合确认模块与攻击用户判定模块连接。所述方法包括步骤记录用户的已有评分信息;建立用户-项目评分矩阵;用户兴趣组合挖掘模块进行聚类分析、过滤分析和兴趣组合确认模块,得到标准用户兴趣组合;攻击用户判定模块对目标用户进行分析,并进行攻击用户认定;完成攻击用户认定。
文档编号G06Q10/00GK102118382SQ20101052759
公开日2011年7月6日 申请日期2010年10月31日 优先权日2010年10月31日
发明者杜卿, 闵华清, 陈健, 黄晋 申请人:华南理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1