一种结合评价文本的抗注入攻击的鲁棒推荐方法和系统

文档序号:25025149发布日期:2021-05-11 16:51阅读:95来源:国知局
一种结合评价文本的抗注入攻击的鲁棒推荐方法和系统

本方法属于信息技术领域。主要针对电商网站中的推荐系统,如何结合评价文本内容来分析用户兴趣与商品特点,自动化的识别哪些评价来自注入攻击,并降低这些评价在推荐系统中的影响。本发明利用个性化文本内容预测、评价打分预测、攻击检测三个部分相互促进,可以自动缓解电商推荐系统中注入攻击的问题,从而提升推荐系统的鲁棒性和准确性。



背景技术:

随着电商行业的发展,越来越多的用户选择网上购物。电商平台上有大量的商品可供用户选择,为了提升用户体验、加快用户的购买决策过程,电商平台使用推荐系统来猜测用户兴趣,为用户提供个性化的商品推荐。对电商平台来说,保证推荐系统的准确性是非常必要的。

在众多推荐方法中,协同过滤是一个主流方法,它可以进一步分为基于记忆的协同过滤和基于模型的协同过滤。基于用户的协同过滤和基于商品的协同过滤统称为基于记忆的协同过滤,分别假定相似的用户有相似的兴趣、相似的商品有相似的特点。基于模型的协同过滤是将用户给商品的打分用矩阵表示,并分解成两个低维矩阵的乘积,本质是对打分矩阵进行矩阵补全。近来,深度学习的发展促进了推荐方法的发展,一系列深度协同过滤模型,通过联合学习代表用户兴趣的用户向量表示和代表商品特点的商品向量表示,提升了传统推荐方法的效果。电商平台中的用户、商品以及用户对商品的反馈数据,天然构成了一个图结构,图神经网络是建模图结构的有效方法,一系列基于图神经网络的深度协同过滤方法,进一步提升了推荐效果。

然而,电商平台中的用户反馈数据不都是高质量且可信的,一些商家为了推广或诋毁目标商品,可能雇佣水军发布虚假的评价内容、给出不公平的打分,这种行为叫做“注入攻击”。一些研究表明,“注入攻击”的存在,会降低推荐系统的准确性,进而影响市场公平性。

注意到这种情况,已有工作致力于减轻“注入攻击”对推荐系统的影响。一些方法关注如何通过利用鲁棒的模型,提升推荐系统鲁棒性;一些方法先对用户反馈进行虚假检测后,将虚假反馈去除掉,再运行推荐系统。最新的一个工作(graphrfi)指出,这两种方法分别存在难以利用用户辅助信息和将正常数据误判为虚假并将其删除后可能导致模型越训越差的缺点,而将二者结合,可以各取所长、相互促进。具体地,graphrfi分为评价打分预测和水军检测两个任务,分别用图卷积网络(graphconvolutionalnetworks)和神经随机森林(neuralrandomforests)进行学习,它们是联合训练的。在评价打分任务中,如果一个用户的评价打分与预测值显著不同,则该用户有很大可能是水军用户;在水军检测任务中,如果一个用户被分类为水军,则该用户的置信度可能会比较低,需要降低其在评价打分任务中的影响。

我们注意到,上述结合图神经网络的协同过滤方法,在对图上信息的利用方面,仍是不充分的。它们主要利用节点(用户、商品)属性信息和边(用户对商品的反馈行为)上的用户打分,进行对评价打分的预测。然而,用户对商品的反馈不仅有对商品的打分,还有用户对商品的评价内容,蕴含着丰富的文本信息。这些丰富的文本信息可以更精确的体现用户的兴趣以及商品的特点。

本发明专利的重点是扩展现有基于图的推荐算法,提升推荐算法对评价文本信息的捕捉能力。



技术实现要素:

本发明提出了一种针对推荐系统中的“注入攻击”,结合丰富评价文本内容,自动化的鲁棒的推荐方法和系统。该方法集个性化文本内容预测、评价打分预测、攻击检测于一体,并可以互相促进。

在后续描述过程中,本发明的数据模型记为图g=(u∪i,e),其中,u代表用户节点集合,i代表商品节点集合,e代表边(用户对商品产生反馈的关系)集合。用户节点u∈u,和商品节点i∈i上都有属性信息,边e∈e上有用户反馈信息(包括评价文本内容c∈c和用户给商品的打分r∈r,其中c是评价文本内容集合,r是用户给商品的打分集合)和产生反馈的具体时间戳t∈t(t为时间戳集合)。

本发明采用的技术方案如下:

本发明首先提供一种结合评价文本的抗注入攻击的鲁棒推荐模型训练方法,包括以下步骤:

训练评价打分预测模型;

根据评价打分预测模型预测的评价打分和产生的用户表示、商品表示,训练个性化评价文本生成模型;

根据评价打分预测模型与个性化评价文本生成模型的预测值与真实值的误差,训练攻击检测模型,用于检测注入评价;

根据攻击检测模型输出的注入评价检测结果,降低相应的评价在评价打分预测模型、个性化评价文本生成模型中的影响权重。

进一步地,所述训练评价打分预测模型,是根据用户属性、商品属性、用户给商品的评价内容、打分以及用户产生反馈的时间,利用图神经网络训练得到用户、商品、反馈边的表示,得到所述评价打分预测模型;所述用户属性是能够反映用户是否异常的统计量。

进一步地,上述步骤分成三个任务:个性化评价文本生成任务、评价打分预测任务和攻击检测任务,这三个任务互相作用、互相促进。

具体地,个性化评价文本生成任务可以辅助评价打分预测任务;评价打分预测任务可以指导个性化评价文本生成任务;前两个任务的预测综合值如果与真实值有显著差异,则该评价有很大可能是注入评价;在攻击检测任务中,如果一个评价被分类为注入评价,则需要降低该评价在前两个任务中的影响(即控制影响权重)。

进一步地,由于三个任务互相影响、互相促进,本发明设计统一的损失函数,使三个任务统一的、进行端到端的协同训练。

具体地,对于评价打分预测任务,我们训练评价打分预测模型s(u,i,c,r,t)→r′,使得待测试边的预测分值r′接近于真实分值并且在训练评价打分预测模型时,需要根据攻击检测模型的输出降低虚假评价打分的影响权重。

评价打分预测模型的损失函数:

其中,pe表示边e真实的概率,r′e表示评价打分预测模型产生的边e的预测分值,表示边e的真实分值。

对于个性化评价文本生成任务,我们训练个性化评价文本生成模型cg(u,i,c,r,t)→c′,使得待测试边的生成评价c′接近于真实评价进一步地,在训练个性化评价文本生成模型的时候加入评价打分预测模型产生的预测分值r′e进行指导。并且在训练个性化评价文本生成模型时,需要根据攻击检测模型的输出降低虚假评价内容的影响权重。同时,我们引入由评价内容预测评价打分的辅助模型f,通过利用评价打分预测模型产生的用户表示和商品表示进行个性化,评价打分预测模型和个性化评价文本生成模型利用同一套用户表示和商品表示共同训练,使得评价打分预测任务和个性化评价文本生成任务相互协同。

个性化评价文本生成模型的损失函数:

其中,pe表示边e真实的概率,c′e表示个性化评价文本生成模型生成的边e的评价,表示边e的真实评价。

对于攻击检测任务,我们根据前两个任务中边上预测打分和生成的评价文本内容与真实打分、真实文本内容的差异情况,更新边表示(从而对新一轮更新时,评价打分预测任务中图神经网络的训练和个性化评价文本生成任务中生成模型的训练产生影响)。同时,根据更新的边表示,训练攻击检测模型预测边是否来自攻击(pe代表边e真实的概率)。

攻击检测模型的损失函数(对数损失):

其中,ye表示边是否真实的标签,|e|表示边的总数,pe表示边e真实的概率。

模型整体损失函数,由三个任务的损失函数共同构成,在训练阶段对这三个任务统一地进行优化。

具体地,整体损失函数:

l=lrating+α·lcontent_generate+β·lfraudster

其中,α、β表示控制三种损失比例的超参数。

在上述训练方法基础上,本发明提供一种结合评价文本的抗注入攻击的鲁棒推荐方法,该方法利用采用上述方法训练完成后的结合评价文本的抗注入攻击的鲁棒推荐模型,预测待预测的“用户-商品”对所对应的评价打分,根据该评价打分进行商品推荐。

基于同一发明构思,本发明还提供一种结合评价文本的抗注入攻击的鲁棒推荐系统,其包括:

模型训练模块,用于采用上述方法训练结合评价文本的抗注入攻击的鲁棒推荐模型;

推荐模块,用于利用训练完成后的结合评价文本的抗注入攻击的鲁棒推荐模型,预测待预测的“用户-商品”对所对应的评价打分,根据该评价打分进行商品推荐。

本发明的有益效果如下:

本发明针对“注入攻击”使得推荐系统准确性降低的问题,给出了一种集评价打分预测任务、个性化评价文本生成任务、攻击检测任务三者一体的统一训练方法。已有方法或者只关注提升推荐算法鲁棒性,或者通过水军检测模型将攻击去除后再应用推荐算法,它们分别存在难以利用用户辅助信息和将正常数据误判为虚假并将其删除后可能导致模型越训越差的缺点。最近的工作graphrfi,虽然将评价打分预测任务和水军检测任务二者结合,进行统一训练,但仍有两个问题没有解决:第一,有些用户虽然被一些商家雇佣去发布“注入攻击”的评价,但这些用户可能仍有正常交易、评价行为,将被识别为“水军”的用户的所有相关反馈全部降权,会损失他们正常反馈的数据;第二,在反馈数据的利用上,模型只利用到用户对商品的打分数据,而在电商场景下,用户对商品发表评价的文本内容可能反映更多关于用户兴趣的信息和关于商品特点的信息,在之前的模型中,这部分信息是没有被利用到的。

本技术侧重于提升推荐算法的鲁棒性。相比于现有方法,本方法在信息来源利用的方面,充分利用评价文本信息;在利用攻击检测降权的方面,本方法充分考虑到一些“水军”用户在非目标商品上仍有正常反馈数据的特点,相比于“水军检测”,使用“攻击检测”,更细粒度的对“水军”用户产生的反馈数据做区分;在模型训练方面,通过评价打分预测、个性化评价文本生成、攻击检测三个部分相互促进,可以自动缓解电商推荐系统中注入攻击的问题,从而提升推荐系统的鲁棒性和准确性。

附图说明

图1:评价打分预测模型、个性化评价文本生成模型、攻击检测模型三者之间的交互框架图。

图2:电商反馈网络示意图。

具体实施方式

以电商推荐平台为基础,下文更具体地对本发明做进一步描述。

本发明的一种针对注入攻击的结合评价文本内容的鲁棒推荐方法,包括以下步骤:

1)根据用户给商品的打分矩阵和产生打分的时间戳,计算可以反映用户是否异常的统计量作为用户属性。

2)根据用户属性、商品属性,用户给商品的评价内容、打分以及用户产生反馈的时间,利用图神经网络训练得到用户、商品、反馈边的表示,即得到评价打分预测模型;并进一步利用评价打分预测模型预测待测试的“用户-商品”对所对应的打分(进行打分矩阵补全)。

3)利用个性化评价文本生成模型进行个性化的评价文本生成(生成的评价内容与用户兴趣、商品特点相关,具体地,本发明在文本生成模型的编码部分加入评价打分预测模型中的用户表示和商品表示来实现个性化),在训练该生成模型的时候,加入步骤2)中评价打分预测的结果进行指导。

4)利用边上的每条评价内容c和打分r,训练一个由评价内容预测评价打分的辅助模型f,使f(c)与r尽量接近。f(c)表示由评价内容c预测的评价打分。辅助模型f的作用是通过个性化评价文本生成模型的训练,优化评价打分预测模型中的用户表示和商品表示,从而辅助评价打分预测模型进行评价打分。

5)综合考虑个性化评价文本生成模型和评价打分预测模型的生成结果与真实值的差距,做攻击检测任务,即进行边是否虚假的预测(差距越大表示这条边更可能是虚假的边,需要相应减小该边在前两个模型中的影响权重),并产生表示差距的表示向量,拼接到边向量中,从而对个性化评价文本生成模型和评价打分预测模型产生作用,最终通过训练完成的评价打分预测模型得到待预测的“用户-商品”对所对应的打分,并根据该打分进行商品推荐。

下面提供一个具体应用实例,包括以下步骤:

1)图2表示电商反馈网络的一个样例。图中u1,u2,…,u8代表用户节点;i1,i2,…,i6代表商品节点;用户节点与商品节点间的连线,实线代表真实的、训练集中已知的用户对商品产生反馈的关系,虚线代表测试集中待预测的用户对商品的喜好程度;边上带有反馈关系发生的时间戳;边上的cu,i,ru,i分别表示用户对商品发表的评价文本,和用户给商品的打分。

2)根据反馈打分以及反馈行为发生的时间,为用户计算一些统计信息作为反映用户是否异常的属性。比如用户评价的商品总数、用户打1到5分值的比例、用户打分的熵值、用户所有评价被“点赞”的比例、用户发生反馈行为的间隔时间等等。

3)利用图上用户、商品节点的属性,用户对商品的反馈关系及发生时间,用户对商品的具体打分,用户反馈的评价文本内容这些丰富的信息,进行评价打分预测模型的训练。本发明以ssg模型(set-sequence-graph:amulti-viewapproachtowardsexploitingreviewsforrecommendation.incikm.2020.)为例,做评价打分矩阵的补全操作。ssg是综合利用用户、商品节点属性,反馈关系及反馈行为发生时间,以及用户发表评价文本内容来进行用户对商品打分预测的最新工作。它利用多视角学习,把用户发表的评价从三种视角:集合视角、序列视角和图视角来看待,进而学习用户、商品和反馈的表示向量,进一步预测目标“用户-商品”对的打分。其中,集合视角是将同一用户发表的不同评价(或同一商品下的不同评价)视作一个集合,然后通过注意力网络计算这个集合的统一表示作为用户(或商品)的集合表示;序列视角是将同一用户发表的评价(或同一商品下的不同评价)按照时间顺序排成一个序列,然后通过lstm(长短期记忆网络)计算这个序列的统一表示作为用户(或商品)的序列表示;图视角利用用户、商品间的网络关系,通过rgat(引入评价的图注意力网络)使得节点、边上的表示进行充分信息交互,综合学习在图上用户、商品节点以及边上评价的表示向量作为图视角下的表示。三个视角的表示通过超参数,按一定比例组合起来,进行最终用户对商品打分的预测。

4)利用个性化评价文本生成模型进行个性化的评价生成,同时保持与评价打分预测任务的同步优化。本发明可以充分利用评价打分预测和评价文本内容生成这两个任务之间的联系,使两个任务互相促进。进一步地,本发明还可以利用transformer架构,在transformer中引入用户兴趣表示,进行更为精确的、更为个性化的评价文本内容生成。

5)攻击检测任务,以及与前两个任务(评价打分预测任务和个性化评价文本生成任务)的交互,我们可以采取类似graphrfi(gcn-baseduserrepresentationlearningforunifyingrobustrecommendationandfraudsterdetection.inkdd.2019.)的方法,并加以拓展。具体地,graphrfi模型分为评价打分预测和水军检测两个任务,分别用图卷积网络(graphconvolutionalnetworks)和神经随机森林(neuralrandomforests)进行学习,它们是联合训练的。在评价打分任务中,如果一个用户的评价打分与预测值显著不同,则该用户有很大可能是水军用户;在水军检测任务中,如果一个用户被分类为水军,则该用户的置信度可能会比较低,需要降低其在评价打分任务中的影响。如上所述,graphrfi在利用用户反馈信息方面是不充分的,没有利用到用户对商品发表的评价的具体文本内容。本发明在graphrfi的基础上进一步引入评价文本信息,加入个性化评价文本生成任务,与其他两个任务联合训练,互相促进。如图1所示,在这个组件中,我们把前两个任务(评价打分预测任务和个性化评价文本生成任务)视作一个整体打分模块,类比到graphrfi中的评价打分模块中。打分模块再与攻击检测任务进一步进行交互。

基于同一发明构思,本发明的另一个实施例提供一种结合评价文本的抗注入攻击的鲁棒推荐系统,其包括:

模型训练模块,用于采用本发明方法训练结合评价文本的抗注入攻击的鲁棒推荐模型;

推荐模块,用于利用训练完成后的结合评价文本的抗注入攻击的鲁棒推荐模型,预测待预测的“用户-商品”对所对应的评价打分,根据该评价打分进行商品推荐。

基于同一发明构思,本发明的另一实施例提供一种电子装置(计算机、服务器、智能手机等),其包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行本发明方法中各步骤的指令。

基于同一发明构思,本发明的另一实施例提供一种计算机可读存储介质(如rom/ram、磁盘、光盘),所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现本发明方法的各个步骤。

本发明不限于以上实施例中描述的方式,比如:

1.反映用户是否异常的统计量,可以不仅限于前面所述用户评价的商品总数、用户打1到5分值的比例、用户打分的熵值、用户所有评价被“点赞”的比例、用户发生反馈行为的间隔时间等,还包括其他根据图上节点属性、边属性、边结构、边上时间戳计算出的可能反映用户水军特点的任何统计量;

2.根据现有图上信息,进行评价打分预测的模型,可以使用其他图神经网络或非图神经网络模型,包括部分利用图上信息(对现有图上信息利用不充分)的其他图表示学习模型。

3.可以采用lstm、transformer及其拓展等的其他文本生成模型,也可以采用除多任务学习、双向学习以外的其他方式进行个性化文本生成任务与评价打分任务的互相促进、共同优化。

4.可以采用除本发明所举例之外,其他的三个任务交互的方式,进行此三个任务的共同优化。

以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的原理和范围,本发明的保护范围应以权利要求书所述为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1