论文:A DeepWalk-Based Approach to Defend Profile Injection Attack

这篇文章重点研究了一种基于深度用户行为分析的推荐算法,以便找到与在线用户档案相似的用户群,从而产生推荐。该算法对所有用户数据信息进行建模和分析,对数据进行抽象,并比较同一user behavior之间的相似性,剔除掉受到攻击影响的user behavior,以此消除了偏向攻击概要文件的大部分影响。
比如这是用户的购买行为记录。
基于随机游走的推荐系统托攻击抵御
首先将用户购买行为当作节点,并构建节点之间的网络,在构建网络时,使用一阶相似度和二阶相似度,前者是相邻节点之间的相似度,后者是使用中间节点连接的节点之间的条件概率。ui和uj表示用户行为的embedding。
基于随机游走的推荐系统托攻击抵御
之前的网络构建的方式都是因为用户1先后购买了A和B,所以A和B有一条边,但这篇文章中构建网络是通过结点与结点之间的一阶相似度和二阶相似度构建的。下图就是构建好的网络。然后就开始随机游走,这个过程就是从任意一个节点出发,形成一条游走序列,文中序列长度是固定的。随机游走保证了网络的“同质性”和“结构性”,前者是指距离相近节点的embedding应该尽量近似(比如u和s1、s2、s3、s4),后者指结构上相似的节点embedding应该尽量近似(u和s6)。
基于随机游走的推荐系统托攻击抵御

之后将形成的用户行为序列输送到skip-gram模型,这是一个word2vec的模型,就是给定当前的word,它能够推理出周围环境中的其他word(本文中,word就是user behavior)。在本文中,就是给一个当前节点的特征,它能够通过模型得到前后节点的特征。
基于随机游走的推荐系统托攻击抵御
经过了随机游走和skip-gram,我们就得到了每个节点的特征,也就是得到了每个用户的行为序列特征,然后开始分析用户在一定时间内的图像行为序列,特征包括时间、观看风格和相应的分数,这个过程首先将序列特征向量转化为二维图像,然后用深度学习模型去学习其中的特征,这样我们就得到了包含用户行为以及周围关系的user特征,最后用一个深度学习模型计算user profile之间的相似度,并且去除掉相似度不高的节点,这里也就是剔除掉受攻击影响较大的特征。如下图:
基于随机游走的推荐系统托攻击抵御
最后通过保证用户行为特征可信来抵御推荐系统中的托攻击,通过上图得到可信的特征之后再使用一个深度学习模型形成推荐列表:
基于随机游走的推荐系统托攻击抵御

相关文章: