融合评分和社会标签的卷积神经网络推荐模型研究

2021-09-13 02:27郑东霞
软件工程 2021年9期
关键词:卷积神经网络评分

摘  要:基于线性模型的矩阵分解推荐算法对信息的特征提取单一,当用户和物品含有大量隐含信息时,无法满足用户需求的个性化推荐。针对此问题,提出一种评分和社会标签融合的卷积神经网络推荐算法,该算法能够根据上下文信息,利用非线性模型提取隐含高阶信息,处理复杂且稀疏的数据。首先,设计由两路由多层感知器和卷积神经网络组成的深层网络结构,分别实现利用社会标签信息和用户评分信息建模用户兴趣和项目信息的潜在特征向量;然后,构建对多层神经网络学习后的结果进行融合的输出层,得出预测结果;最后,运用真实数据集进行实验验证。结果表明,该算法与当前主流的推荐模型相比,能更好地利用社会标签信息进行精准推荐。

关键词:评分;社会标签;卷积神经网络;推荐模型

中图分类号:TP391.3     文献标识码:A

文章编号:2096-1472(2021)-09-28-04

Abstract: Matrix factorization recommendation algorithm based on linear model extracts single characteristics of information. It cannot meet user's need for personalized recommendation when users and items contain a large amount of hidden information. Aiming at this problem, this paper proposes a convolutional neural network recommendation algorithm combining rating and social tags. The algorithm can extract hidden high-order information using a nonlinear model based on context information, and process complex and sparse data. First, a deep network structure composed of two-route multi-layer sensors and convolutional neural networks is designed, which realizes the use of social tag information and user rating information to model the potential feature vectors of user interests and item information. Then, a multi-layer neural network after learning is built, and the fusion output layer is used to obtain the prediction result. Finally, the real data set is used for experimental verification. The results show that compared with the current mainstream recommendation models, the proposed algorithm can better utilize social tag information for accurate recommendation.

Keywords: rating; social tag; convolutional neural network; recommendation model

1   引言(Introduction)

隨着社会化网络的迅速发展,网络上充斥着各个领域的海量数据,信息过载问题日益严峻。推荐系统已经成为确保用户在网络中快速获取所需信息的一个重要技术手段,也是当前世界各国学者及工业界研究的一个热点问题。近些年,一些人工智能、机器学习、数据挖掘等领域的重要学术会议已经将推荐系统列为其中的一个重要研究方向,推荐技术得到前所未有的发展。

推荐系统的发展主要经历了三个阶段:基于内容的推荐、协同过滤推荐及基于深度学习的推荐。传统的基于内容的推荐主要根据上下文选择资源描述相似的项目向用户推荐。协同过滤推荐主要是依据用户对项目的评分进行预测,矩阵分解技术在协同过滤过程中被广泛应用。随着深度学习技术逐渐应用在各个领域中,基于深度学习的推荐算法受到当前学者的广泛关注。文献[1]提出了基于用户评论的深度情感分析和多视图协同融合的混合推荐算法。该算法使用用户对物品的评分数据、隐式反馈信息等对用户进行情感分析,利用对物品的文本描述计算物品相似性,在此基础上构建基于协同训练的混合推荐算法。文献[2]提出一种深度学习模型,该模型从用户评论和商品评论文本中提取用户和商品的潜在非线性特征向量,将其与隐向量融合来预测用户对商品的评分。文献[3]提出一种基于卷积神经网络与约束概率矩阵分解的推荐算法。该算法运用卷积神经网络模型对项目特征矩阵进行初始化,利用约束概率矩阵对用户特征矩阵进行初始化,最后拟合评分矩阵来预测用户对项目的评分。文献[4]建立了改进神经协同过滤模型,利用多层感知机的非线性特征处理提取隐含高阶特征的信息,以及利用贝叶斯个性化排序算法提取排序信息,结合电影流行度和电影类型因子进行推荐得分。以上推荐系统模型引入了深度学习,利用文本和评分建立了非线性特征向量,但是在特征提取过程中,并未考虑用户评论的时效性,因为用户的兴趣会随着时间推移、年龄增长、环境变化等而发生变化。因此,本文提出一种融合社会标签和评分的卷积神经网络模型DSR-CNN(Dynamic Social Tag and Rating-Convolutional Neural Network)。

2   相关工作(Related work)

2.1   基于社会标签的推荐方法

很多学者不仅使用评分数据进行推荐,还将隐式数据引入算法中,比如信任关系、社会标签等,使得推荐效果大幅提升。文献[5]提出了一种融合社会标签的近邻感知的联合概率矩阵分解推荐算法。该算法通过标签的相似性来计算用户间和资源之间的相似性,进行近邻选择;然后构建用户-资源评分矩阵、用户-标签标注矩阵、资源-标签关联矩阵,运用联合概率矩阵分解方法计算三个矩阵的隐含特征向量,通过对训练模型进行参数优化,为用户进行推荐。文献[6]提出了一种融合社会标签和信任关系的社会网络推荐方法。该方法利用概率因式分解技术实现了社会信任关系、项目标记信息和用户项目评分矩阵的集成;从不同维度出发,实现了用户和项目潜在特性空间的互联;再通过概率矩阵因式分解技术实现降维,从而实现了有效的社会化推荐。文献[7]提出一个融合社交行为和标签行为的推荐算法。该算法用引力模型计算社交网络中用户节点之间的吸引力来度量用户社交行为的相似性;再通过标签信息构建用户喜好物体模型,并使用引力公式计算喜好物体之间的引力来度量标签行为的相似性;最后,引入变量融合两方面信息,获取近邻用户,产生推荐。

以上融合社会标签的算法相对于传统推荐算法,在推荐质量上有了显著提高。但当用户和物品含有大量隐含信息時,仍无法满足用户需求的个性化推荐,因此本文提出融合评分和标签的卷积神经网络推荐模型,以缓解冷启动及数据稀疏问题。

2.2   融合卷积神经网络的推荐方法

卷积神经网络(CNN)是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一[8-9],其基本结构为四层:输入层、卷积层、池化层、输出层。输入层用于获取输入信息;卷积层用于对输入信息的特征提取;池化层用于减少参数和特征数量,提取关键特征,防止过拟合;输出层用于将处理后的文本潜在特征向量输出。CNN在计算机视觉领域的应用较为广泛,近些年,学者们陆续将CNN运用到了推荐模型中的文本处理上,通过CNN提取隐式信息的特征,能够对文本进行更深入的学习,提高推荐精度[10-11]。

文献[12]提出融合动态协同过滤和深度学习的推荐算法,将时间因素融入协同过滤算法中,利用深度学习模型来学习用户和电影特征信息,形成高维潜在空间的用户特征和电影特征的隐向量,进而融合到动态协同过滤算法中进行推荐。文献[13]为缓解推荐系统中数据稀疏性问题,提出一种改进CNN的局部相似性预测推荐模型LSPCNN。该模型对初始用户-项目评分矩阵进行迭代调整,使用户兴趣偏好局部特征化,再融合CNN对缺失评分进行预测,从而实施个性化推荐。本文在以上工作基础上进行改进,建立两路神经网络模型:一路网络对以用户ID检索的评分矩阵和用户标注的标签信息进行训练;另一路网络对以项目ID检索的评分矩阵和项目被标注的标签信息进行深度学习,利用融合层对用户特征偏好和项目特征信息进行融合输出,进而提高推荐准确性。

3  DSR-CNN模型描述(DSR-CNN model description)

本文提出融合评分和标签的卷积神经网络模型DSR-CNN,其模型结构如图1所示。本模型由四路并行的神经网络组成。首先,其中两路神经网络从用户角度和项目角度分别运用多层感知器对评分矩阵的行向量信息和列向量信息进行提取,进而获得用户评分潜在特征向量和项目评分潜在特征向量;另外两路神经网络使用卷积神经网络分别对用户标注的标签信息、项目标签信息进行深度学习,从而获得用户标注标签潜在特征向量和项目标签潜在特征向量。其次,将用户评分和用户标注标签潜在特征向量融合得到用户特征的矩阵;将项目评分和项目标签潜在特征向量融合得到项目特征矩阵。第三,将上一步骤的结果输入融合层,再进行预测评分输出。本文仅讲解如何运用多层感知器及CNN提取用户特征,由于项目特征提取过程与用户特征提取过程类似,因此不再赘述。

3.1   用户动态特征提取模块

3.1.1   用户评分潜在特征向量提取

用户评分潜在特征向量提取包括评分矩阵输入层、特征向量层、多层MLP层、输出层。假设有 个用户、 个项目,分别表示为,。用户-项目评分矩阵记为,表示用户对项目的评分,当用户对项目无评分时,=0;矩阵中行数据代表用户对每个项目的评分,列数据代表项目获得的用户评分。代表用户潜在特征矩阵,代表项目潜在特征矩阵,向量表示用户的维特征向量,表示项目的维特征向量。获得了用户评分特征向量后,将其作为输入数据输入多层感知器(MLP)中,经过MLP深度学习获得用户潜在特征向量,各层MLP学习后的输出结果表示如式(1)所示。

其中,是用户经过MLP学习的评分特征向量,是第个评分矩阵,为第个偏置,为MLP中的隐藏层数,是非线性激活函数。

3.1.2   用户标注标签潜在特征向量提取

通常,用户在网络上对喜欢的资源标注标签,标签的信息能够反映出用户的喜好。因此本文利用CNN提取用户标注标签信息,进而建立用户特征矩阵。用户标注标签潜在特征向量提取包括标签矩阵输入层、嵌入层、用户标注标签特征向量层、池化层、输出层,其框架图如图2所示。

用户标注标签潜在特征向量提取模块首先利用词嵌入技术将标签的稀疏矩阵向量映射为稠密矩阵向量,然后使用卷积神经网络(CNN)来提取标签信息的语义特征。假设有 个标签,用户标注标签矩阵记为,表示用户标注的标签。用户对项目标注标签记为,其中是标签中第 个文本的词嵌入向量,嵌入层将标签表中的每个词映射到维的向量中,。如果同一个标签出现多次,则相同标签共享嵌入内容,因此利用文本嵌入方法将每个标签转换成词嵌入矩阵,其中表示文本长度。

CNN中的卷积层用来从标签文本中提取语义特征向量。假设有个卷积滤波器,分别表示为,每个滤波器的输入参数均由矩阵构成,其中表示滤波器窗口的大小,表示向量维度。第个滤波器在嵌入矩阵上的卷积计算结果如式(2)所示。

其中,代表非線性激活函数,代表卷积运算,是的偏差参数。第个滤波器产生的标签特征向量,然后使用H卷积滤波器获取多种特征,公式如式(3)所示。

池化层的作用主要是提取通过卷积层得到的特征向量中的最大值,本文利用最大池化方法获取最重要的信息,操作如式(4)所示。

之后进入全连接层,即将用户评分特征向量和用户标签特征向量采用加权处理得到用户的潜在特征向量表示,其操作定义如式(5)所示。

3.2   融合模块和预测输出模块

多层感知器学习得到用户评分矩阵,卷积神经网络学习得到用户标注标签矩阵,两者融合得到用户深度特征向量,融合公式如式(6)所示。

同理,分别经过感知器学习和卷积神经网络计算得到项目被评分矩阵和项目被标注标签矩阵,两者融合得到项目深度特征向量,融合公式如式(7)所示。

利用公式(8)对用户深度特征向量和项目深度特征向量进行融合得到预测值。

公式(8)中,为激活函数,该函数用于更好地学习用户和项目之间的非线性关系;为权重矩阵,用于学习各种向量之间的联系程度。

3.3   模型损失函数

对项目进行预测评分的任务实质上是回归问题,本文利用平方损失函数训练模型来优化参数,采用正则化项以避免过度拟合,损失函数如式(9)所示。

其中,表示待训练实例的集合,表示用户对项目的真实评价,表示正则化项的常数参数,表示模型中的所有未知参数集合。

4   实验分析(Experiment analysis)

4.1   数据集

MovieLens数据集是研究机构GroupLens从http://movielens.org网站在不同的时间段收集并提供的评级数据集。该数据集描述了电影推荐服务的5星评分和自由标注标签活动。MovieLens 20 MB数据集中包含27,278 个电影中的20,000,263 个评分和465,564 个标签应用,以上数据由138,493 位用户参与生成。

用户对电影评分数据的稀疏度为:

用户对电影标注标签数据的稀疏度为:

实验选取数据集中比例分别为8∶1∶1和7∶1∶2的数据作为训练数据、验证数据和测试数据,验证不同稀疏度的情况下推荐模型的准确性。

4.2   评价指标

RMSE(Root Mean Squared Error)被称为均方根误差,也叫标准误差。文中实验采用RMSE作为评价指标来衡量预测推荐评分的误差。其公式表示如式(10)所示。

式(10)中,表示测试数据集中的记录个数,表示本文模型计算的预测评分,表示数据集中的用户实际评分。

4.3   对比算法

本文与以下四种算法进行实验结果对比分析。

(1)RA1[14],提出了一种基于张量Tucker分解和列表级排序学习的个性化标签推荐算法,采用优化MAP的方式进行训练,实现根据用户喜好进行推荐。本文中将此推荐算法记为RA1。

(2)DeepCoNN[15],提出基于一种神经网络的模型,一种是从某个用户的评论中学习到该用户的喜好;另一种是从所有用户对某个商品的评论中学习到该商品的特征和特点。用户和项目学习的潜在特征用于在两个网络顶部引入的层中预测相应的等级。

(3)TTMF[16],该模型为融合标签和时间信息的矩阵分解推荐模型,通过评级数据和标签信息构建用户、项目、标签三者之间的矩阵模型,进而使用梯度下降方法进行推荐计算。

(4)RA2[17],提出了一种用于前N 个项目推荐的新颖方法,该方法使用三种不同类型的信息:用户项目评分数据、用户之间的社交网络以及与项目相关联的标签。通过上面三种信息进行优先级计算,实现推荐。

4.4   结果分析

图3显示了80%数据作为训练数据、10%数据作为验证数据、10%数据作为测试数据情况下,本文算法与RA1、DeepCoNN、TTMF、RA2四种算法计算结果的RMSE比较图。从图3中可以看出,本文提出的算法DSR-CNN性能要优于其他模型,特别在数据稀疏的情况下,DSR-CNN算法也能够较好地进行推荐。综上所述,融合评分和标签的卷积神经网络推荐模型,当用户数据稀疏的情况下,能够根据用户和项目信息学习潜在的影响因素,从而进行更有效的推荐。

5   结论(Conclusion)

本文提出了一种融合用户评分和用户标注标签信息的卷积神经网络推荐模型。模型通过建立由两路由多层感知器和卷积神经网络组成的深层网络结构,分别实现利用社会标签信息建模用户动态兴趣和项目信息的潜在特征向量;模型能够充分根据上下文语境信息提取隐含高阶信息,进而解决稀疏数据的推荐问题。文中采用MovieLens 20 MB数据集对模型的推荐效果与其他四种算法进行了实验比较,实验结果表明该模型能够有效地根据用户的偏好进行个性化推荐。

参考文献(References)

[1] 张宜浩,朱小飞,徐传运,等.基于用户评论的深度情感分析和多视图协同融合的混合推荐方法[J].计算机学报,2019,042(006):1316-1333.

[2] 冯兴杰,曾云泽.基于评分矩阵与评论文本的深度推荐模型[J].计算机学报,2020,043(005):884-900.

[3] 马海江.基于卷积神经网络与约束概率矩阵分解的推荐算法[J].计算机科学,2020(S1):540-545.

[4] 王骏,虞歌.基于改进神经协同过滤模型的电影推荐系统[J].计算机工程与设计,2020,041(7):2069-2075.

[5] 曹玉琳,李文立,郑东霞.融合社会标签的联合概率矩阵分解推荐算法[J].信息与控制,2017(4):400-407.

[6] 胡云,张舒,李慧,等.融合社会标签与信任关系的社会网络推荐方法[J].数据采集与处理,2018,033(004):704-711.

[7] 李慧,马小平,胡云,等.融合社会网络与信任度的个性化推荐方法研究[J].计算机应用研究,2014(03):808-810.

[8] HEATON J. Ian Goodfellow, Yoshua Bengio, and Aaron Courville: Deep learning[J]. Genet Program Evolvable Mach, 2018(19):305-307.

[9] GU J X, WANG Z H. Recent advances in convolutional neural networks[J]. Pattern Recognition, 2018, 77(01): 329-353.

[10] LIU H, WANG Y, PENG Q, et al. Hybrid neural recommendation with joint deep representation learning of ratings and reviews[J]. Neurocomputing, 2020, 374(1):77-85.

[11] HUANG Z H, SHAN G X, CHENG J J, et al. TRec: An efficient recommendation system for hunting passengers with deep neural networks[J]. Neural Computing and Applications, 2019, 31(1):209-222.

[12] 邓存彬,虞慧群,范贵生.融合动态协同过滤和深度学习的推荐算法[J].计算机科学,2019,046(008):28-34.

[13] 吴国栋,宋福根,涂立静,等.基于改进CNN的局部相似性预测推荐模型[J].计算机工程与科学,2019,041(006):1071-1077.

[14] 杨洋,邸一得,刘俊晖,等.基于张量分解的排序学习在个性化标签推荐中的研究[J].计算机科学,2020,47(S2):525-529.

[15] HAN J, ZHENG L, XU Y, et al. Adaptive deep modeling of users and items using side information for recommendation[J]. IEEE Transactions on Neural Networks and Learning Systems, 2019(99):1-12.

[16] 趙文涛,任行学.融合标签信息和时间效应的矩阵分解推荐算法[J].信息与控制,2020,49(4):472-477.

[17] BANERJEE S, BANJARE P, PAL B, et al. A multistep priority-based ranking for top-N recommendation using social and tag information[J]. J Ambient Intell Human Comput, 2021(12):2509-2525.

作者简介:

郑东霞(1978-),女,硕士,副教授.研究领域:机器学习,推荐系统.

猜你喜欢
卷积神经网络评分
计算机辅助口试评分稳定性历时研究
——以PRETCO口试为例
我给爸爸评分
Castleman disease in the hepatic-gastric space: A case report
An Optimal Resources Configuration Scheme for Caching-Based Content Distribution in Backhaul-Limited Small Cell Networks
基于卷积神经网络温室智能大棚监控系统的研究
基于深度卷积神经网络的物体识别算法
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现
基于卷积神经网络的树叶识别的算法的研究
狼疮性肾炎病理评分与临床评分的关系分析