攻击环境下降低无用信息比重的鲁棒性推荐方法及系统

文档序号:29789766发布日期:2022-04-23 17:15阅读:128来源:国知局
攻击环境下降低无用信息比重的鲁棒性推荐方法及系统

1.本发明属于推荐系统和鲁棒性研究领域,尤其涉及一种攻击环境下降低无用信息比重的鲁棒性推荐方法及系统。


背景技术:

2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.随着科技进步,电子信息化渗透到各个生活领域,但随之而来的是信息爆炸与信息过载,推荐系统的出现很好解决了这一问题。推荐系统的主要思想是根据用户的历史行为来预测用户对项目的偏好,从而对用户推荐有效信息,提高用户查找搜索效率。协同过滤是一种先进的推荐方法,通过结合不同的历史纪录例如评论、评级、历史浏览等来对用户偏好及项目特征进行建模,可以分为基于内存和基于模型的方法。尽管协同过滤在很多推荐场景中都有良好性能,但在部分实际应用中遇到重要问题:推荐某些项目时不具有可解释性。缺乏可解释性的推荐就降低了用户的信任以及后续研究者的研究程度。
4.大多数推荐系统中,用户都可以自由编辑文体评论与评级信息,文本评论包含丰富的商品项目信息以及用户体验,有时还会有指导性建议。但是由于用户的评论主观性差异,并非所有评论都是有效的,从大量评论中获取有效信息是一件困难的事情。
5.许多研究表明,由于推荐系统的广泛应用所带来的经济利益吸引了一群恶意攻击者来扰乱系统。攻击者通过在推荐系统中发布虚假信息来有意提高或降低某些项目的排名,从而提高或降低这些被攻击项目的推荐程度与排名。这种破坏推荐系统的行为被称为先令攻击,这严重扰乱推荐系统的公平性,如何缓解推荐系统攻击问题所带来的推荐准确率下降,是近年来推荐系统鲁棒性研究热点。目前针对推荐系统的攻击行为主要有三种防控途径:一是在已知攻击行为存在的前提下增强推荐算法的鲁棒性,即被攻击时推荐性能的健壮性或准确性。二是有效率的对攻击用户、恶意评分与评论以及虚假配置文件进行检测。三是从源头上消灭攻击用户,需要系统有更完善的筛选用户体系机制。通过研究,攻击的表现行为多种多样,部分攻击者通过发布无用信息来扰乱某些项目的参考价值或推荐排名,无用信息集中表现为评级与评论的情感极性相悖。
6.近年来,深度学习在自然语言处理等领域有重大研究突破,一些推荐系统的工作尝试将不同的神经网络与协同过滤来结合应用以提高推荐性能与准确率。最早阶段,评论信息的特征提取与情感分析通常需要人工预处理,对于efm等文本情感分析技术是简单的从文本中提取单词或是短语,这可能会曲解本文表意或深意。本公开使用双向lstm来进行情感极性分析标记,并使用端到端的神经网络来选择有用的评论,增强信息可解释性。


技术实现要素:

7.为了解决上述背景技术中存在的技术问题,本发明提供一种攻击环境下降低无用信息比重的鲁棒性推荐方法及系统,数据集预处理标记攻击用户所注入的无用信息,在后
续的推荐模型中降低无用信息的比重以保证后续特征学习信息来源的真实性,并且使用注意力机制来筛选出有参考价值的评论信息进行学习以提高推荐准确率。
8.为了实现上述目的,本发明采用如下技术方案:
9.本发明的第一个方面提供一种攻击环境下降低无用信息比重的鲁棒性推荐方法。
10.攻击环境下降低无用信息比重的鲁棒性推荐方法,包括:
11.获取每个条目中的评论信息;
12.对所述评论信息进行情感极性标记,标记后与对应评级分数进行比对,若两者情感极性差距超过设定的阈值,则标记为无用信息,否则,标记为真实信息;
13.基于标记的无用信息和真实信息,采用预测推荐模型,得到每个用户或项目的特征表示;采用注意力机制学习每条评论的权重,结合每个用户或项目的特征表示,得到降低无用用户比例的推荐结果。
14.本发明的第二个方面提供一种攻击环境下降低无用信息比重的鲁棒性推荐系统。
15.攻击环境下降低无用信息比重的鲁棒性推荐系统,包括:
16.获取模块,其被配置为:获取每个条目中的评论信息;
17.情感分析模块,其被配置为:对所述评论信息进行情感极性标记,标记后与对应评级分数进行比对,若两者情感极性差距超过设定的阈值,则标记为无用信息,否则,标记为真实信息;
18.预测推荐模块,其被配置为:基于标记的无用信息和真实信息,采用预测推荐模型,得到每个用户或项目的特征表示;采用注意力机制学习每条评论的权重,结合每个用户或项目的特征表示,得到降低无用用户比例的推荐结果。
19.本发明的第三个方面提供一种计算机可读存储介质。
20.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一个方面所述的攻击环境下降低无用信息比重的鲁棒性推荐方法中的步骤。
21.本发明的第四个方面提供一种计算机设备。
22.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一个方面所述的攻击环境下降低无用信息比重的鲁棒性推荐方法中的步骤。
23.与现有技术相比,本发明的有益效果是:
24.在本发明无用信息查找部分,我们使用双层lstm模型来对用户评论文本进行情感极性标记,标记后与对应评级信息进行对比,若两者情感极性差距超过设定阈值,则被标记为无用信息。
25.本发明引入神经机制来建立推荐模型,分别对用户及项目进行建模学习,引入注意力机制来评估评论的有用性。
26.本发明最终使用神经模型使用用户偏好和项目特征来预测评分,最终输出降低无用用户比例的更高准确率的推荐结果。
附图说明
27.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
28.图1是本发明实施例攻击环境下降低无用信息比重的鲁棒性推荐方法的流程图;
29.图2是本发明实施例数据情感分析预处理标记无用用户工作框架图;
30.图3是本发明实施例学习用户及项目特征进行评级预测推荐工作的详细框架图。
具体实施方式
31.下面结合附图与实施例对本发明作进一步说明。
32.应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
33.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
34.需要注意的是,附图中的流程图和框图示出了根据本公开的各种实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分可以包括一个或多个用于实现各个实施例中所规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。
35.实施例一
36.如图1所示,本实施例提供了一种攻击环境下降低无用信息比重的鲁棒性推荐方法,本实施例以该方法应用于服务器进行举例说明,可以理解的是,该方法也可以应用于终端,还可以应用于包括终端和服务器和系统,并通过终端和服务器的交互实现。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务器、云通信、中间件服务、域名服务、安全服务cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。本实施例中,该方法包括以下步骤:
37.s101:获取每个条目中的评论信息;
38.具体地,在推荐数据集中通常包含每个条目的评级、评论、项目id、用户id等元数据信息,本实施例将每个条目的评论信息进行提取。实现此步骤的组件是双向lstm与glove(glove是情感分析领域中的预训练词向量集合),首先进行对每条评论信息的切词与词嵌入,使用字典进行存储与比对,最终生成预测文本的正向(积极)或负向(消极)结果。双向lstm具有正反向短期记忆结合的特点,并使用损失函数sigmoid来对其进行损失训练,相较于其他循环神经网络,最终预测情感极性结果达到一定较高的准确率。
39.s102:对所述评论信息进行情感极性标记,标记后与对应评级分数进行比对,若两者情感极性差距超过设定的阈值,则标记为无用信息,否则,标记为真实信息;如图2所示。
40.将每条评论的预测情感极性与该评论对应的评级结果进行对比,判定并标记无用信息。设置阈值,在大部分推荐领域中的评分机制中,评级分数为区间[1,5]中的分数,1分为差评最低分,5分为好评最高分。评论情感极性与评级分数([1,5])之差低于或高于阈值则被判定为有用信息或无用信息。具体地,在评级分数的区间内设定中间值3设为情感极性分界线,评级大于3视为积极情感,评级低于3视为消极情感。将评级情感极性与评论情感极性进行对比,若两者不一致则将其标记为无用信息。
[0041]
s103:基于标记的无用信息和真实信息,采用预测推荐模型,得到每个用户或项目的特征表示;
[0042]
将全部真实信息与部分无用信息注入预测推荐模型。分别针对用户与项目,将每个评论被转换成词向量矩阵,将矩阵输入到cnn卷积神经网络的文本处理器中。cnn卷积神经网络文本处理器第一层为嵌入层,将评论矩阵中每个单词映射成d维向量,然后将其转变为固定长度的嵌入矩阵,嵌入可以是预先训练好的嵌入,在嵌入层将词汇信息进行嵌入表示后输至卷积层。
[0043]
卷积运算产生特征表示。卷积层由多个神经元和滤波器组成,通过卷积运算产生特征。在最终输出中得到某个用户或项目的所有特征向量,聚合某个用户或项目的所有向量表示得到项目或用户的最终表示。
[0044]
s104:采用注意力机制学习每条评论的权重,结合某个用户或项目的特征表示,得到降低无用用户比例的推荐结果。如图3所示。
[0045]
注意力机制学习评论权重。对无用用户进行标记处理并降低其比重,假设认定剩余信息中的每条评论对于所属项目的重要性是一致的,但在现实生活中并非如此,部分用户的评论可能是敷衍了事,他们编辑的评论可能毫无参考价值。为了缓解这个问题对推荐性能造成的偏差,本实施例使用注意力机制在一定程度上学习评估每条评论的权重,选出对项目有意义的评论,然后聚合这些有用信息来描述项目或用户。为了识别输出无意义评论的用户,本实施例引每个用户与项目独有的信息即id信息嵌入来模拟用户质量,以针对性信息来提高模型的泛化效果,最终输出离散注意力得分。为了使数据归一到某个限定区间中,使用softmax函数来标准归一化注意力得分,项目与用户的特征向量为所有评论的特征加权和。最终,项目与用户向量被发送到一个全连接层得到最终表示。
[0046]
本实施例使用lfm组件来完成预测评级产生最终推荐。具体地,引入从用户及项目中学习到的潜在表示,分别与用户表示、项目表示对应相加进而点乘两部分信息,输出n维向量,然后将其传递到预测层,预测层将权重与n维向量相乘,然后与用户、项目和全局偏差相加,获得预测评级分数。
[0047]
学习训练模型。本实施例最终的结果是对降低无用用户比重的信息进行的评级预测值,即对所有项目进行评级预测分数,实际上是一个回归问题,常用平方损失函数进行训练学习。公式如下:
[0048]
[0049]
其中,为预测评级值,而r
u,i
为真实评级值。
[0050]
作为一种或多种实施方式,所述得到每个用户或项目的特征表示的过程包括:
[0051]
将标记的无用信息和真实信息输入预测推荐模型,得到某个用户或项目的所有特征向量;
[0052]
聚合某个用户或项目的所有特征向量得到项目或用户的特征表示。
[0053]
作为一种或多种实施方式,所述采用注意力机制学习每条评论的权重的过程包括:
[0054]
采用注意力机制学习每条评论的权重,结合id嵌入来模拟项目与用户质量,采用softmax函数得到标准化注意力得分。
[0055]
作为一种或多种实施方式,所述结合每个用户或项目的特征表示的过程包括:
[0056]
将每个用户或项目的特征表示与所有评论的权重相乘,得到某个用户或项目的特征向量。
[0057]
作为一种或多种实施方式,所述得到降低无用用户比例的推荐结果的过程包括:
[0058]
根据所有用户或项目的特征向量,预测降低无用用户比例的推荐结果。
[0059]
在验证本实施例有效性的过程中,本实施例采用yelp2017数据集和toys and game两种数据集。其中toys and game为一个较小的数据集,仅包含约16万条评论。yelp2017是一个包含餐厅评级评论等元数据信息较大数据集,虽然数据集中约包含300多万条评论,但仍具有一定稀疏性,先前研究表明稀疏性会对推荐准确性产生一定影响,所以对数据集进行了预处理,预处理后的数据集中每个用户和项目都至少包含5条评论。两个数据集的评分区间都为[1,5],按照用户对项目的喜好程度评分依次递增,且数据集中还包含其他元数据信息。
[0060]
验证本实施例所使用的评估指标有均方根误差(root mean square error)以及均方误差(mean absolute error),评估指标值越小则证明对项目的评级预测性能越好,预测值与真实值相差越小,从而推荐给用户的准确性得到提高,计算方式如下:
[0061][0062][0063]
本实施例首先将数据集中每个条目的评论信息进行提取,使用情感分析模型对评论信息进行情感极性分析并与对应评级信息进行对比来完成对无用用户的标记。在推荐预测模型中,分别对用户与项目分别学习建模来提取特征,在两个网络顶端增加预测组件来结合用户及项目特征表示进行评级预测,对于由双向lstm与glove组成并用来对数据集进行无用信息判别标注的情感分析模型及对用户及项目分别进行学习产生项目预测评分的预测推荐模型进行训练,使它们达到一定准确率,最终为用户呈较为真实、准确的推荐结果。
[0064]
实施例二
[0065]
本实施例提供了一种攻击环境下降低无用信息比重的鲁棒性推荐系统。
[0066]
攻击环境下降低无用信息比重的鲁棒性推荐系统,包括:
[0067]
获取模块,其被配置为:获取每个条目中的评论信息;
[0068]
情感分析模块,其被配置为:对所述评论信息进行情感极性标记,标记后与对应评级分数进行比对,若两者情感极性差距超过设定的阈值,则标记为无用信息,否则,标记为真实信息;
[0069]
预测推荐模块,其被配置为:基于标记的无用信息和真实信息,采用预测推荐模型,分别得到每个用户或项目的特征表示;采用注意力机制学习每条评论的权重,分别对用户或项目进行结合产生特征表示,得到降低无用用户比例的推荐结果。
[0070]
此处需要说明的是,上述获取模块、情感分析模块和预测推荐模块与实施例一中的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
[0071]
实施例三
[0072]
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例一所述的攻击环境下降低无用信息比重的鲁棒性推荐方法中的步骤。
[0073]
实施例四
[0074]
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例一所述的攻击环境下降低无用信息比重的鲁棒性推荐方法中的步骤。
[0075]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0076]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0077]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0078]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0079]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random accessmemory,ram)等。
[0080]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1