钱忠胜(1977-), 男, 博士, 教授, 博士生导师, CCF专业会员, 主要研究领域为推荐系统, 机器学习, 算法设计, 软件工程
赵畅(1995-), 女, 硕士, 主要研究领域为推荐系统, 机器学习
俞情媛(1997-), 女, 博士生, 主要研究领域为软件工程, 机器学习
李端明(1995-), 男, 硕士, 主要研究领域为推荐系统, 机器学习
稀疏性问题一直是推荐系统面临的主要挑战, 而信息融合推荐可以利用用户的评论、评分以及信任等信息发掘用户的偏好来缓解这一问题, 从而为目标用户生成相应的推荐. 用户、项目信息的充分学习是构建一个成功推荐系统的关键. 但不同用户对不同项目有不同的偏好, 且用户的兴趣偏好及社交圈是动态变化的. 提出一种结合深度学习与信息融合的推荐方法来解决稀疏性等问题. 特别地, 构建了一种新的深度学习模型——结合注意力卷积神经网络(attention CNN)与图神经网络(GNN)的信息融合推荐模型ACGIF. 首先, 在CNN中加入注意力机制来处理评论信息, 从评论信息中学习用户和项目的个性化表示. 根据评论编码学习评论表示, 通过用户/项目编码学习评论中用户/项目表示. 加入个性化注意力机制来筛选不同重要性级别的评论. 然后, 利用GNN来处理评分和信任信息. 对于每个用户来说, 扩散过程从最初的嵌入开始, 融合相关特性和捕获潜在行为偏好的自由用户潜在向量. 设计了一个分层的影响传播结构, 以模拟用户的潜在嵌入如何随着社交扩散过程的继续而演变. 最后, 对前两部分得到的用户对项目的偏好向量进行加权融合, 获得最终的用户对于项目的偏好向量. 在4组公开数据集上, 以推荐结果的
The sparsity has always been a primary challenge for recommendation system, and information fusion recommendation can alleviate this problem by exploiting user preference through their comments, ratings, and trust information, so as to generate corresponding recommendations for target users. Full learning of user and item information is the key to build a successful recommendation system. Different users have different preferences for various items, and users’ interest preferences and social circle are changeable dynamically. A recommendation method combining deep learning and information fusion is proposed to solve the problem of sparsity. Particularly, a new deep learning model named information fusion recommendation model combining attention CNN and GNN (ACGIF for short), is constructed. First, attention mechanism is added to the CNN to process the comment information and learn the personalized representation of users and items from the comment information. It learns the comment representation based on comment coding, and learns the user/item representation in the comment through user/item coding. It adds personalized attention mechanism to filter comments with different levels of importance. Then, the rating and trust information are processed through the GNN. For each user, the diffusion process begins with the initial embedding, combining the relevant features and the free user potential vectors that capture the potential behavioral preferences. A layered influence propagation structure is designed to simulate how the user’s potential embedding evolves as the social diffusion process continues. Finally, the preference vector of the user for the item obtained from the first two parts is weighted and fused to obtain the preference vector of the final user for the item. The
近年来, 推荐系统几乎在各个行业均有广泛的应用. 推荐系统根据用户需求、兴趣等, 通过推荐算法从海量数据中挖掘出用户感兴趣的项目, 并将结果以个性化列表的形式推荐给用户. 个性化推荐是机器学习在电子商务等领域的关键应用之一[
尽管现有的研究提出了信息融合或者深度学习用于推荐的不同方法, 但这些推荐算法仍然存在几个关键问题[
为了同时考虑多种数据信息, 并进行有效地融合, 本文提出了一种结合注意力CNN与GNN的信息融合推荐模型ACGIF (information fusion recommendation model combining attention CNN and GNN). 在这个模型中, 尝试从两个角度对用户偏好进行建模: 基于评论信息的表示、基于评分和信任数据的表示. 该模型在CNN中加入注意力机制来处理评论信息, 通过GNN来处理评分和信任信息. 对于前两部分得到的用户对项目的偏好向量进行加权融合, 得到最终的用户对于项目的偏好向量. 该模型可充分利用文本评论信息, 结合稀疏的评分矩阵和信任矩阵, 对输入进行更有效的初始化, 从而有效改善了数据稀疏等问题[
为解决存在的信息融合少以及模型层次浅的问题, 实现数据间的高阶交互, 从多个方面对现有的模型进行了改进. 主要做了如下工作.
(1)提出了一个新的深度学习模型——结合注意力CNN与GNN的信息融合推荐模型ACGIF. 这个模型综合考虑用户和项目两方面, 从评分、信任和评论数据中学习用户偏好, 实现了信息融合.
(2)在CNN中加入注意力机制来处理评论信息, 从评论信息中学习用户和项目的个性化表示, 能够筛选不同重要性级别的评论.
(3)利用GNN来处理评分和信任信息, 设计了一个分层的影响传播结构, 以模拟用户的潜在嵌入如何随着社交扩散过程的继续而演变.
(4)在4个数据集上展开实验来比较本文模型和其他7种典型推荐模型. 结果表明, ACGIF 模型更优, 可更好地利用用户之间的信任信息以及用户对项目的评论信息, 在面临数据稀疏问题时效果更佳.
本文第2节介绍了深度学习与信息融合的相关工作, 包括CNN、注意力机制、GNN, 以及评论、评分、信任等信息. 第3节介绍了多种数据信息分析以及深度学习模型, 提出了一种结合注意力CNN与GNN的信息融合推荐模型ACGIF, 构建了该模型的整体框架. 第4节展开实验并分析讨论了实验结果对比情况. 第5节是全文总结以及下一步工作.
这一节主要从两个方面对ACGIF模型的相关工作进行讨论, 分别是基于深度学习(主要包括CNN、注意力机制、GNN)的推荐和基于信息融合的推荐.
近几年, 深度学习技术在计算机视觉和自然语言处理领域得到了迅速发展, 同时也带来了一个问题: 怎样把深度学习技术引入到推荐系统中. 如今人们对这个问题的关注度越来越高, 在推荐系统领域, 该问题也已成为一个热点话题.
针对该问题, 人们已经做了大量工作[
Kim等人[
Huo等人[
Lu等人[
最近, Kipf等人[
Wu等人[
这些深度模型可以在一定程度上提高推荐的性能. 然而, 上述相关工作大多数利用深度模型仅从一两种等少数信息中学习表示, 比如: 评论、评分以及信任等. 实际上, 已经有许多工作被提出从不同方面来学习多种特征[
近年来, 信息融合推荐算法在提高推荐质量方面显示出了巨大的潜力.
戴琳等人[
李琳等人[
吴宾等人[
Zhang等人[
Koren等人[
然而, 这些方法大多数都是利用浅层次的数据, 忽略了信息融合关系非常复杂的因素. 要从这些数据中学习高阶信息, 一个很大的挑战是数据非常稀疏, 不足以支持深度模型.
针对上面的问题, 本文提出利用注意力CNN和GNN两个深度学习模型, 从评论、评分、信任等信息中学习用户偏好, 主要在3个方面进行了改进: (1) 与以往模型相比, 融入了丰富的评论信息, 相对于评分和信任数据来说, 它包含更为充分的信息, 能更有效地缓解评分和信任稀疏性的问题, 从而更好地反映用户的兴趣偏好; (2) 在CNN中加入注意力机制来处理评论信息, 有利于筛选不同重要性级别的评论; (3) 通过GNN来处理评分和信任信息, 有利于捕获用户的动态社交变化信息.
该部分首先基于4个数据集(它们的相关介绍见第4.1节)阐述需融合的各种信息及相关方法. 数据信息包括评分、信任和评论, 深度学习模型包括CNN、注意力机制、GNN. 然后在CNN中加入注意力机制来处理评论信息, 得到基于评论的用户对项目的偏好向量. 通过GNN来处理评分和信任信息, 获得基于信任的用户对项目的偏好向量. 最后, 对于前两部分得到的用户对项目的偏好向量进行加权融合, 获得最终的用户对于项目的偏好向量.
在本文的推荐系统中, 我们假设有
本小节主要介绍融合的3种信息: 评分、信任和评论. 因文中要用到的4个数据集的信息形式类似, 故这里仅以Epinions数据集为例进行说明.
评分的分数为1到5之间的整数, 其中1表示“不喜欢”, 5表示“喜欢”. 在预处理过程中, 为了对模型进行简化, 对评分数量小于5的用户和项目进行过滤, 同时在信任数据中也只保留相对应的用户.
在Epinions数据集中, 评分信息数据的形式如后文
Epinions数据集评分数据形式
用户 | 项目 | 评分值 |
daleb | pr-Sony_KV_36FS12_Standard_Televisions | 4 |
jstroud | auto_Make-2002_Toyota_Highlander | 5 |
pulsev2 | huawei-technologies-m835-cell-phone | 1 |
mejensen1 | Toshiba_Satellite_M35X_S161_PSA72U2JX00U_PC_Notebook | 2 |
jspencerg | iRobot_5900_Scooba_Vacuum | 1 |
... | ... | ... |
每一行都表达了用户对项目的评分值, 比如, 第1行表示用户daleb 对项目pr-Sony_KV_36FS12_Standard_Televisions的评分为4.
这里直接利用社交网络的二值信任关系, 即取值只能为1或0, 分别对应“信任”或“非信任”关系[
在Epinions数据集中, 信任信息数据的形式如
Epinions数据集信任数据形式
源用户 | 目标用户 | 信任值 |
cherylswisher | mommy4life | 1 |
mattsgirl | simmsgirl | 1 |
mrpoetryman | taurusmoon | 1 |
Rocket1 | jaysonrun | 1 |
rdavisunr | alkaiser | 1 |
... | ... | ... |
每一行都表达了源用户对目标用户的信任关系. 比如, 第1行表示用户mattsgirl信任simmsgirl. 在此数据集中, 对于信任数据, 均用1表示其信任值, 默认用0表示其他用户间的信任值.
文本信息包括两种, 一种是用户对物品的评论信息, 从这种信息中可以分析用户的购买和评分行为; 另一种是物品的简介信息, 从这种信息中可以分析物品的特征和属性. 为了简单起见, 本文采用第一种文本信息, 即用户对物品的评论信息.
在Epinions数据集中, 评论的项目不仅包括书籍, 还包括汽车、电影、电子产品以及软件等. 为了研究简便, 我们首先从数据集中剔除与电子产品无关的信息. 评论信息数据的形式如
Epinions数据集评论数据形式
用户 | 项目 | 评论 |
cruiser36 | Hoover_SteamVac_V2_6_Brush_Widepath_F7426_900_Vacuum | i just bought my machine and the little door where the little brush goes was broke at the hinge |
srauhala | Cambridge_Soundworks_Newton_Series_T500_Speaker | i first want to say i have been a fan of cambridge soundworks for years now for several reasons |
bikeboard | Cambridge_Soundworks_Newton_Series_T500_Speaker | i have had these for quite awhile now and i must say for the money |
... | ... | ... |
每一行都表达了用户对项目的评论情况, 比如, 第1行表示用户cruiser36对项目Hoover_SteamVac_V2_6_Brush_Widepath_F7426_ 900_Vacuum的评论为“i just bought my machine and the little door where…”.
下面对本文模型中用到的CNN及GNN等进行简单介绍.
CNN模型普遍用于计算机视觉开发[
CNN模型强大的卷积操作, 可有效地提取输入文本的隐藏特征, 一定程度上提高了推荐系统的性能. CNN模型[
注意力机制的灵感来自对人类视觉的研究. 在人类视觉的研究过程中, 发现人眼处理信息的能力是有限的. 在任何时候, 视网膜上只有少量信息可被处理并用于控制行为, 对任何一个目标的关注都会减少对其他目标的关注. 总结起来, 注意力机制主要有两个方面: 决定需要关注输入的部分; 给重要的部分分配有限的信息处理资源.
一些研究者把这种机制运用到深度神经网络中. 最早注意力机制主要用在聚焦视频区域的任务上. 一种更著名的应用是将注意力机制用于提升机器翻译模型在长文本中的准确性. 在翻译问题中, 由于一些词的翻译和原始句子中一部分有关, 因此注意力机制在翻译某些词时, 通过给原始句子中不同词以不同权重来选择性地关注原始句子中的一部分. 注意力机制这种强大的性能, 使它很快就流行开来.
近年来, 人们对深度学习方法在图上的扩展越来越感兴趣. 在多方因素的成功推动下, 研究人员借鉴了卷积网络、循环网络和深度自动编码器的思想, 生成了GNN, 可用于处理图数据.
GNN是一种连接模型, 其图节点之间通过传递消息来获取图的依赖性. 不同于标准的神经网络, GNN保留了可表示来自其邻域的具有任意深度信息的状态. 尽管原始的GNN很难训练, 但是网络结构、并行计算和优化技术的最新进展让它们有效地学习不成问题.
为了更好地融合评分、信任以及评论信息, 提高推荐精度, 本文提出了结合注意力CNN与GNN的信息融合推荐模型ACGIF. 该节对提出的模型ACGIF进行了详细描述. 主要分为以下几步: 首先, 简要描述了ACGIF模型的整体结构, 并相应说明了涉及的重点概念. 然后, 介绍了ACGIF的注意力CNN模型, 详细描述了如何通过注意力CNN模型来处理输入的评论信息, 从而生成基于评论的用户对于项目的偏好向量. 接着, 介绍了ACGIF的GNN模型, 详细描述了如何通过GNN模型来处理评分和信任信息, 从而生成基于信任的用户对于项目的偏好向量. 最后, 对于前两部分得到的用户对项目的偏好向量进行加权融合, 得到最终的用户对于项目的偏好向量.
本文ACGIF模型的结构如
结合注意力CNN与GNN的信息融合推荐模型ACGIF
关于注意力CNN模型, 主要描述用户部分, 项目部分类似. 其中
模型参数的符号及含义
符号 | 含义 | 符号 | 含义 | |
用户-产品评分矩阵、用户-用户信任矩阵、
|
用户 |
|||
用户 |
评论文本 | |||
词向量矩阵 | 词向量的维度 | |||
评论的长度 | 特征矩阵 | |||
|
单词注意力权重和评论注意力权重 | 评论表示 | ||
|
用户、项目特征向量 |
|
个性化单词级注意力向量及个性化评论级注意力向量 | |
用户、项目自由嵌入矩阵 | 用户、项目潜在向量 | |||
用户、项目特征向量 |
|
用户潜在嵌入 | ||
项目嵌入 | 基于评论的用户对项目的偏好向量 (评论偏好向量) | |||
基于信任的用户对项目的偏好向量
|
最终用户对于项目的偏好向量 (综合偏好向量) |
ACGIF的注意力CNN模型的目标是, 在CNN中加入注意力机制来处理评论信息, 从评论信息中学习用户和项目的个性化表示. 通过评论编码学习评论表示, 通过用户/项目编码学习评论中用户/项目表示. 加入个性化注意力机制来筛选不同重要性级别的评论. 最终得到用户对项目的偏好向量. 本文的注意力CNN模型一共包含4层, 分别为: 嵌入层, 卷积层, 池化层以及预测层.
(1) 嵌入层
首先, 嵌入层把一个用户
(2)卷积层
接下来, 卷积层用来提取文本特征. 文本信息本质上不同于信号处理或者计算机视觉. 因此, 我们使用文献[
将评论信息的词嵌入矩阵
其中, *表示在卷积层计算中的卷积操作, 即滑动窗口内的第
通过卷积层操作, 生成了输入文本的上下文特征向量
尽管经过卷积层生成了输入文本的特征矩阵
(3)池化层
然后, 在池化层分别引入单词水平的注意力机制和评论水平的注意力机制. 这主要是因为并不是所有评论文本中的单词都有同等的重要性, 从单词和评论两方面来运用注意力机制, 这样既考虑了局部又兼顾了整体, 将两者的结果进行综合, 从而提升推荐结果的准确性.
对于单词级的注意力机制, 首先为用户生成能够体现个性化的注意力向量
其中,
其中,
对于评论级的注意力机制, 首先为用户生成能够体现个性化的注意力向量. 基于用户
其中,
其中,
同样, 可以得到项目
(4)预测层
最后, 在预测层, 建模用户
预测评分为用户特征与项目特征的内积形式.
最终, 将CNN对评论文本的处理过程可以表示为
其中,
实现注意力CNN模型的完整过程如算法1所示.
算法
输入:
输出: 基于评论的用户对项目的偏好向量
/* 嵌入层 */
1.
2.
3. 词向量矩阵
4.
5.
/* 卷积层 */
6.
7.
8. 特征矩阵
9.
10.
/* 池化层 */
11.
12.
13. 计算个性化单词级注意力向量
14. 计算单词注意力权重
15. 计算评论表示
16. 计算个性化评论级注意力向量
17. 计算评论注意力权重
18. 计算用户、项目特征向量
19.
20.
/* 预测层 */
21.
22.
23. 计算基于评论的用户对项目的偏好向量
24.
25.
26.
GNN模型的总体结构如
(1) 嵌入层
设
(2) 融合层
对于每个用户
其中,
同样, 对于每一个项目
(3) 图传递层
对于图传递层, 只需要考虑用户部分. 图传递层建模了用户潜在偏好在社交网络中扩散的动态变化. 该部分为多层结构, 每层输入前一层的用户嵌入, 输出社交扩散过程结束后的用户的更新嵌入. 递归循环, 直到社交递归过程达到稳定.
对于每个用户
其中,
其中, 池函数可以被理解为一个平均池, 对所有可信用户在第
(4) 预测层
在这一层, 用户
预测评分为用户嵌入与项目嵌入的内积形式.
实现GNN模型的完整过程如算法2所示.
算法
输入: 用户-项目评分矩阵
输入: 基于信任的用户对项目的偏好向量
/* 嵌入层 */
1. 计算用户、项目潜在向量
/* 融合层 */
2. 计算用户潜在嵌入
3. 计算项目嵌入
/* 图传递层 */
4. 计算用户潜在嵌入
/* 预测层 */
5. 计算基于信任的用户对项目的偏好向量
6.
通过合并方式对用户
对于注意力CNN得到的基于评论的用户对项目的偏好向量
其中,
为了验证本文方法的有效性, 并便于与其他方法作对比, 使用了4个流行的公开数据集, 分别是: Epinions(
Epinions是著名的大众消费点评网站, 主要市场在美国和欧洲[
在本文实验中, 需要对原始数据进行初步的处理. 首先, 过滤掉无关项, 只保留用户、项目、评分、信任值以及评论信息. 然后, 将用户和项目名称转换为对应的数字, 方便后续处理. 最后, 采用与Wang等人[
经过数据预处理后, 剩下的数据可进行模型学习. 最终版本的Epinions数据集包含了21358个用户, 274552个项目, 有898766组评分评论信息和286265个用户之间的社交关系(本文表示为信任关系). Yelp数据集包含了45113个用户和81254个项目, 有1322135组评分评论信息和352636个用户之间的社交关系. Flickr数据集包含了7925个用户和78561个项目, 有285449组评分信息和162328个用户之间的社交关系. MovieLens 10M数据集包含了73256个用户和12315个项目, 有9525411组评分评论信息.
对于处理后的4种数据集, 各项统计信息如
数据集的各项统计信息
特征 | 数据集 | |||
Epinions | Yelp | Flickr | MovieLens | |
用户数量 | 21358 | 45113 | 7925 | 73256 |
项目数量 | 274552 | 81254 | 78561 | 12315 |
评分记录数 | 898766 | 1322135 | 285449 | 9525411 |
信任记录数 | 286265 | 352636 | 162328 | - |
用户平均评分数量 | 42 | 29 | 36 | 130 |
项目平均评分数量 | 3 | 16 | 4 | 773 |
用户平均信任数量 | 13 | 8 | 20 | - |
评分稀疏度 (%) | 99.985 | 99.964 | 99.954 | 98.944 |
信任稀疏度 (%) | 99.937 | 99.983 | 99.974 | - |
从
本文实验环境为: Windows10 操作系统, 32 GB 内存, CPU为AMD R7 3700X 3.6 GHz, GPU为Nvidia GeForce RTX 2080Ti, 采用 Python 语言开发.
本文使用Python语言及Keras库实现ACGIF模型. 为了训练CNN的权值, 使用基于RMSprop的mini-batch, 每个mini-batch包含128个训练项.
与文献[
(1)设置每条评论文本的最大长度为300;
(2)去除停用词;
(3)计算每个单词的TF-IDF值;
(4)去除特定语料库中文本频率高于0.5的停用词;
(5)选择前8000个不同的单词作为一个单词表;
(6)为了使 ACGIF 能处理所有用户和项目, 所有数据集的训练集中都至少包含每个用户和项目的一个评分.
对于CNN结构, 使用以下设置.
(1)在卷积层中, 使用不同的窗口大小(3、4、5)作为共享权值, 以考虑周围单词的不同长度, 每个窗口大小使用100个共享权值;
(2)使用dropout将与CNN的权值相关的L2正则化器进行替换, 并把dropout rate设置为0.2, 以防止CNN过拟合.
本文将数据集按一定比例分为训练集(80%)、验证集(10%)和测试集(10%). 训练集主要用于拟合模型数据, 学习推荐模型中的参数; 验证集主要用于调整模型的超参数, 对模型进行初步评估; 测试集主要用于验证模型的推荐效果. 为保证结果的可靠性, 重复进行5次数据切分过程.
本文算法的任务之一是预测用户对产品的评分, 通常希望算法越精确越好. 为了评估本文算法的性能, 选择两种流行的精确度指标[
平均绝对误差
其中,
相对应地, 均方根误差
通常, 这些评估指标是彼此一致的, 即, 如果一个模型在一个指标上比另一个模型表现得更好, 那么它也更有可能在另一个指标上产生更好效果.
为了验证文中提出的 ACGIF模型的推荐效果, 本文选取下面几种相关的推荐模型作为对比.
(1)贝叶斯个性化排序(BPR)[
(2)因子分解机模型(FM)[
(3)融合评分数值和评论文本的推荐模型(DTMF)[
(4)融合多源异构信息的推荐算法(MSRA)[
(5)分层个性化注意力推荐模型(NRPA)[
(6)社交影响扩散模型(DiffNet)[
(7)基于神经影响和兴趣扩散网络的社交推荐模型(DiffNet++)[
对于这几个对比模型, 本文全部考虑深度模型. 除此之外, 这几种模型分别考虑了不同的信息来源, BPR和FM只考虑评分, MSRA和DiffNet考虑评分和信任, DTMF和NRPA考虑评分和评论, DiffNet++考虑了评分、信任和评论. 这有利于从多方面与本文提出的模型ACGIF展开对比分析, 从而更充分地说明本文信息融合的有效性. 这些模型的比较如
各模型特征对比
模型 | 评分 | 信任 | 评论 | CNN | 注意力 | GNN | 模型 | 评分 | 信任 | 评论 | CNN | 注意力 | GNN | |
BPR | √ | - | - | - | - | - | FM | √ | - | - | - | - | - | |
DTMF | √ | - | √ | - | - | - | MSRA | √ | √ | - | - | - | - | |
NRPA | √ | - | √ | √ | √ | - | DiffNet | √ | √ | - | - | - | √ | |
DiffNet++ | √ | √ | √ | - | √ | √ | ACGIF | √ | √ | √ | √ | √ | √ |
在第4.4节中, 将本文的ACGIF模型和其他几个流行的模型进行了对比, 这几种模型均采用了深度学习技术, 主要区别在于信息融合的程度不同.
在4个数据集上的各模型性能对比
数据集 | 评价指标 | 模型名称 | 改进情况 (%) | |||||||
BPR | FM | DTMF | MSRA | DiffNet | NRPA | DiffNet++ | ACGIF | |||
Epinions | 0.9134 | 0.9062 | 0.8732 | 0.8511 | 0.8216 | 0.8353 | 0.44 | |||
1.1247 | 1.1183 | 1.0826 | 1.0703 | 1.0581 | 1.0633 | 0.17 | ||||
Yelp | 0.8375 | 0.8257 | 0.7913 | 0.7829 | 0.7632 | 0.7549 | 0.35 | |||
1.0891 | 1.0674 | 1.0302 | 1.0142 | 1.0081 | 0.9786 | 0.24 | ||||
Flickr | 1.0261 | 0.9533 | - | 0.8941 | - | - | 1.94 | |||
1.1294 | 1.1235 | - | 1.1063 | - | - | 0.99 | ||||
MovieLens | 0.6825 | - | - | - | - | - | 1.97 | |||
0.8354 | - | - | - | - | - | 2.19 |
在4个数据集上的模型性能对比
通过
模型DiffNet性能优于模型MSRA, 这是由于前者加入了GNN, 可以更为有效地学习用户之间的信任关系. 模型NRPA性能优于模型DTMF, 这是因为NRPA中加入了注意力机制, 能有效筛选重要评论文本, 提高推荐效率. 模型DiffNet++在对比模型中性能最优, 主要由于其融合了评分、信任以及社交评论文本信息, 同时运用了GNN以及注意力机制.
通过观察
观察
评论、评分和信任3种信息在不同程度上对推荐效果均有一定的影响, 因此对比3种融合组件以及它们的组合对推荐结果的影响程度, 有利于更好地改进推荐模型.
本节从两个角度对融合组件的效果进行对比. 第1个角度是对于本文的模型ACGIF, 分别考虑评分、评分+信任、评分+评论以及评分+信任+评论4种情况, 简称为Rating、Rating+Trust、Rating+Review、ACGIF, 对比4种情况下的评价指标. 第2个角度是本文模型只考虑部分数据信息的情况下, 与考虑相同数据信息的其他对比模型做比较. 从横向和纵向两个角度更加充分地说明本文方法的有效性.
本文模型融合组件的性能对比
由
本文融合组件与相应对比模型的性能比较
由
本文通过参数
为了探究在Epinions和Yelp数据集上
The influence of parameters
参数
就复杂度方面来讲, 这里主要考虑本文模型的时间复杂度. 分别考虑注意力CNN部分和GNN部分. 对于注意力CNN部分, 时间花销为O(
对比模型DiffNet相对于本文模型, 只考虑了GNN和信任信息, 时间复杂度为O(
本文融合了评论、评分以及信任3种多源异构数据, 充分利用了不同数据的特点, 在4个数据集上主要进行了3种实验, 分别是信息融合对推荐效果的影响、融合组件对推荐效果的影响以及参数对推荐效果的影响. 下面对实验总结如下.
● 在信息融合实验中, 主要是将融合多种数据信息的本文模型ACGIF与其他几种推荐方法进行对比. 以8个模型为横坐标, 评价指标
● 在融合组件实验中, 从两个角度对融合组件的效果进行对比. 横向对比了本文不同组件融合的效果, 包括考虑评分、评分+信任、评分+评论以及评分+信任+评论4种情况. 可以发现, 融合多种数据信息的组件效果要优于融合一种或者两种信息的组件, 这充分说明了信息融合的有效性. 纵向对比了本文不同组件与相应对比模型的效果, 可以发现本文模型的效果更优, 体现了本文深度模型的有效性. 通过这两个角度比较全面地展示了本文模型在改善推荐效果方面的优越性.
● 在模型参数实验中, 主要考虑了平衡评论以及信任之间影响的参数
上面从3个角度对本文实验进行了总结,
各模型性能对比概览
模型 | 推荐准确率 | 信息挖掘程度 | 算法复杂度 | 模型 | 推荐准确率 | 信息挖掘程度 | 算法复杂度 | |
BPR | 较低 | 较浅 | 较低 | DiffNet | 较高 | 中等 | 中等 | |
FM | 较低 | 较浅 | 较低 | NRPA | 较高 | 中等 | 中等 | |
DTMF | 中等 | 中等 | 较低 | DiffNet++ | 较高 | 较深 | 中等 | |
MSRA | 中等 | 中等 | 较低 | ACGIF | 最高 | 较深 | 中等 |
本文提出了一种结合注意力CNN与GNN的信息融合推荐模型ACGIF. 该模型尝试从两个角度对用户偏好进行建模: 基于评论信息的表示、基于评分和信任数据的表示. 该模型在CNN中加入注意力机制来处理评论信息, 通过GNN来处理评分和信任信息. 对于这两部分得到的用户对项目的偏好向量进行加权融合, 得到最终的用户对于项目的偏好向量.
为了能够全面地验证ACGIF模型的有效性, 在Epinions、Yelp、Flickr、MovieLens这4个数据集上, 以推荐结果的
该模型为神经网络在推荐系统中的应用增强了信心. 在未来的工作中, 考虑加入用户之间的不信任关系, 并与信任关系结合, 更加全面地对用户信息进行建模, 从而进一步改善推荐性能.
Goldberg D, Nichols D, Oki BM, Terry D. Using collaborative filtering to weave an information tapestry. Communications of the ACM, 1992, 35(12): 61–70. [doi: 10.1145/138859.138867]
Zhang S, Yao LN, Sun AX, Tay Y. Deep learning based recommender system: A survey and new perspectives. ACM Computing Surveys, 2019, 52(1): 5. [doi: 10.1145/3285029]
http://www.jos.org.cn/1000-9825/5540.htm]]>
http://www.jos.org.cn/1000-9825/5540.htm]]>
李琳, 刘锦行, 孟祥福, 苏畅, 李鑫, 钟珞. 融合评分矩阵与评论文本的商品推荐模型. 计算机学报, 2018, 41(7): 1559–1573. [doi: 10.11897/SP.J.1016.2018.01559]
Li L, Liu JH, Meng XF, Su C, Li X, Zhong L. Recommendation models by exploiting rating matrix and review text. Chinese Journal of Computers, 2018, 41(7): 1559–1573 (in Chinese with English abstract). [doi: 10.11897/SP.J.1016.2018.01559]
吴宾, 娄铮铮, 叶阳东. 一种面向多源异构数据的协同过滤推荐算法. 计算机研究与发展, 2019, 56(5): 1034–1047. [doi: 10.7544/issn1000-1239.2019.20180461]
Wu B, Lou ZZ, Ye YD. A collaborative filtering recommendation algorithm for multi-source heterogeneous data. Journal of Computer Research and Development, 2019, 56(5): 1034–1047 (in Chinese with English abstract). [doi: 10.7544/issn1000-1239.2019.20180461]
http://www.jos.org.cn/1000-9825/5159.htm]]>
http://www.jos.org.cn/1000-9825/5159.htm]]>
http://www.jos.org.cn/1000-9825/5391.htm]]>
http://www.jos.org.cn/1000-9825/5391.htm]]>
潘一腾, 何发智, 于海平. 一种基于信任关系隐含相似度的社会化推荐算法. 计算机学报, 2018, 41(1): 65–81. [doi: 10.11897/SP.J.1016.2018.00065]
Pan YT, He FZ, Yu HP. Social recommendation algorithm using implicit similarity in trust. Chinese Journal of Computers, 2018, 41(1): 65–81 (in Chinese with English abstract). [doi: 10.11897/SP.J.1016.2018.00065]
张宜浩, 朱小飞, 徐传运, 董世都. 基于用户评论的深度情感分析和多视图协同融合的混合推荐方法. 计算机学报, 2019, 42(6): 1316–1333. [doi: 10.11897/SP.J.1016.2019.01316]
Zhang YH, Zhu XF, Xu CY, Dong SD. Hybrid recommendation approach based on deep sentiment analysis of user reviews and multi-view collaborative fusion. Chinese Journal of Computers, 2019, 42(6): 1316–1333 (in Chinese with English abstract). [doi: 10.11897/SP.J.1016.2019.01316]
黄立威, 江碧涛, 吕守业, 刘艳博, 李毅德. 基于深度学习的推荐系统研究综述. 计算机学报, 2018, 41(7): 1619–1647. [doi: 10.11897/SP.J.1016.2018.01619]
Huang LW, Jiang BT, Lv SY, Liu YB, Li YD. Survey on deep learning based recommender systems. Chinese Journal of Computers, 2018, 41(7): 1619–1647 (in Chinese with English abstract). [doi: 10.11897/SP.J.1016.2018.01619]
Hamilton WL, Ying R, Leskovec J. Representation learning on graphs: Methods and applications. IEEE Data Engineering Bulletin, 2017, 40(3): 52–74.
Wang ML, Ma J. A novel recommendation approach based on users’ weighted trust relations and the rating similarities. Soft Computing, 2016, 20(10): 3981–3990. [doi: 10.1007/s00500-015-1734-1]
Noda K, Yamaguchi Y, Nakadai K, Okuno HG, Ogata T. Audio-visual speech recognition using deep learning. Applied Intelligence, 2015, 42(4): 722–737. [doi: 10.1007/s10489-014-0629-7]
Collobert R, Weston J, Bottou L, Karlen M, Kavukcuoglu K, Kuksa P. Natural language processing (almost) from scratch. The Journal of Machine Learning Research, 2011, 12: 2493–2537. [doi: 10.5555/1953048.2078186]