融合神经网络与矩阵分解的旅游景点推荐模型
第36卷第2期Vol.36No.2
2021年04月
Apr32021湖北工业大学学报
JournalofHubeiUniversityofTechnology
[文章编号]1003—4684(2021)02-0029-05
融合神经网络与矩阵分解的旅游景点推荐模型
郑吟秋,汪弘扬,程玉,陈建峡
(湖北工业大学计算机学院,湖北武汉430068)
[摘要]针对旅游业不断发展、旅游有关信息过载、用户难以选择合适旅游景点等现实问题,研发了融合神经网络与矩阵分解的Tr-DNNMF旅游景点推荐模型.该模型将采用神经协同过滤模型的框架,使用广义矩阵分解模型和多层神经网络模型作为预训练模型单独训练,再对这两个模型进行融合,预测用户对景点的评分并进行景点推荐。本模型将矩阵分解的线性和深度神经网络的非线性相结合,对用
户景点的潜在特征进行建模,使模型既具备良好的扩展性,又有强大的拟合能力。利用国内旅游景点用户交互数据进行实验,实验结果表明:融合模型比单独模型的NDCG@10提高了7%,HR@10提高了0.5%。
[关键词]推荐系统;神经网络;矩阵分解;旅游景点
[中图分类号]TP391[文献标识码]A
近年来旅游业发展快速,旅游景点的数量与网络上关于旅游信息愈发繁多,导致用户决定景点的过程变得复杂与低效。而好的旅游景点推荐服务可以给用户推荐符合其兴趣偏好的景点,从而提高用户决定景点的效率,同时也提升用户的出游满意度。景点所属类型易于区分,且类型相似的用户对旅游景点会呈现出非常类似的喜好,因此,实现景点推荐的一个直观思路就是基于用户与景点的“相似性”,充分利用用户的偏好与景点的内在关联实现推荐模型。
在推荐系统方面,已有的代表性工作主要分为传统模型的研究与深度学习模型的研究。时至今日,传统推荐模型凭借其训练速度快、可解释性强等特点依然得到较为广泛的使用,但传统模型所执行的简单操作并不能充分满足人们对推荐模型效果的追求。目前,随着深度学习技术的持续发展及其在多种领域取得的巨大成功,研究者也把深度学习应用到推荐系统中。神经网络模型具有较强的拟合能力,随着深度学习技术的发展与算力的提升,现有模型的网络层数不断加深,表达能力也越来越强,从而
可以挖掘更多数据中隐藏的模式。近年来深度神经网络在推荐系统领域有两种应用方式:一是作为传统推荐算法的辅助,利用神经网络对用户和物品的辅助信息进行建模;二是将神经网络作为推荐模型中的核心板块,利用神经网络构建模型,为用户推荐感兴趣的物品。
针对旅游进行推荐模型研究的思路主要有两种:排序模型和序列推荐。李广丽等在2019年提出基于混合分层抽样统计与贝叶斯个性化排序的推荐模型[1」,综合用户旅游喜好信息及BPR优化结果,生成混合推荐列表,取得了较好的结果。同年,张尧舜等人使用基于序列学习的旅游景点推荐⑵,分析游客的旅游轨迹信息来为游客作出个性化的旅游景点推荐,解决了传统推荐中的冷启动、数据稀疏、忽略旅游轨迹中高级语义和推荐准确度低的问题。
本文围绕旅游景点推荐问题展开研究,根据问题背景和数据类型,使用了TrDNNMF模型来捕获用户和景点数据中的有用信息。该模型基于旅游场景,融合了神经网络和矩阵分解这两种被广泛使用的模型,以期望获得更好的景点推荐效果,并为用户提供能满足其兴趣偏好的智能推荐服务。
1相关工作
1.1协同过滤算法简介
协同过滤算法是最经典、影响力最大的传统推荐算法,它根据用户的历史行为记录进行推荐,核心是
基于用户一物品的交互记录构造用户物品评分矩阵,矩阵中已知的元素就是对应的用户给物品的评分,这个评分矩阵非常稀疏,协同过滤要做的就是
[收稿日期]2020—11—03
[基金项目]湖北省大学生创新创业训练计划(S201910500060)
[第一作者]郑吟秋(1998—),女,湖北随州人,湖北工业大学本科生,研究方向为机器学习[通信作者]程玉(969—),女,河南信阳人,湖北工业大学副教授,研究方向为数据库技术
30湖北工业大学学报2021年第2期
基于评分矩阵中已有的元素来预测未知元素的评分,根据预测分数进行降序排序,将前面的物品推荐给用户,协同过滤算法流程见图1。
协同过滤的关键是计算相似度,主要使用余弦相似度公式、Jaccard公式、皮尔逊相似度等方式计算,根据对象不同可分为基于用户的协同过滤和基于物品的协同过滤。在协同过滤算法的基础上延伸出矩阵分解(MF)[3]算法,该算法可在一定程度上解决协同过滤算法存在的稀疏性问题,并且具备较好的扩展性。从直观上看,矩阵分解是把评分矩阵近似分解成两个向量的乘积,分别表示用户向量和物品向量,它们代表了用户的偏好与物品被关注的因素。在矩阵分解中,用户向量与物品向量的内积就是该
用户对该物品评分的预测。
图1协同过滤算法流程图
尽管协同过滤和矩阵分解算法非常直观,易于理解,但它们分别利用稀疏的评分矩阵与内积操作进行得分预测,因此模型的泛化能力与表达能力都不够强,如果面对历史行为很少的用户,就没法产生准确的推荐结果。尽管如此,凭借其特性,在深度学习流行的今天,这类传统协同过滤推荐模型为深度推荐模型的发展奠定了坚实的基础。
1.2基于深度学习的推荐算法
近年来,各大互联网公司逐渐将深度学习运用到自己的推荐业务中。实际上,深度学习是通过加深神经网络的层数,使模型有更强的表达能力,能更好地提取特征,挖掘更多数据中隐藏的模式。随着深度学习技术的演进与算力的提升,深度学习在推荐系统领域的应用出现了两种趋势:要么以传统推荐算法为核心,仅用神经网络对用户和物品的文本、图片信息进行建模;要么把神经网络作为推荐模型的核心板块,通过训练为用户推荐感兴趣的物品。由于深度学习模型的结构灵活,可根据实际场景和数据特点调整结构,因此基于深度学习的推荐系统是发展持续火热的方向之一。
最简单的神经网络推荐模型是Aut.oRec[4],只有一个隐藏层,是在协同过滤的基础上加入了自编码器
的思想,有一定的泛化能力。AutoRec模型和Word2Vec模型的结构一致,但优化目标和训练方法不同。AutoRec利用协同过滤中的用户物品共现矩阵,完成物品向量或用户向量的自编码。再利用自编码的结果预估用户对物品的评分。进一步加深网络层数后,出现了以微软Deep Crossing^为代表的深度推荐模型。Deep Crossing模型的结构是典型的嵌入加多层神经网络的模式,该模型首先用embedding层将稀疏特征转化为低维稠密特征,用stacking layer连接分段的特征向量,再通过多层神经网络完成特征的组合与转换,最终用scoring lay­er进行计算。
1.3深度推荐模型的改进思路
深度学习推荐模型的主要进化思路有改变特征交叉方式与改变模型组合方式。前一种以PNN[6]模型(Product-based Neural Network)为例,该模型的关键是,在embedding层和全连接层之间加入Product,layer,其中product.操作在不同特征域之间进行特征组合,增加特征交叉和特征组合时对信息表达的针对性。此外,PNN还定义了内积、外积等操作来捕捉不同的交叉信息,增强模型表征不同数据模式的能力。
改变模型组合的代表是Google的Wide&Deep[7]模型、华为的DeepFM[]模型。Wide&Deep模型把单输入层的Wide部分和经过多层感知机的Deep部分连接起来,一起输入到最终的输出层。其中,单层的Wide部分让模型具有记忆性,从而处理大量稀疏的ID类特征,即记住用户的大量历史信息,Deep部
分则利用DNN强大的表达能力,挖掘特征内在的数据模式,让模型具有泛化性。最终再利用LR输出层组合Wide部分和Deep部分。
DeepFM是在Wide&Deep的基础上,用FM 部分替换原来的Wide部分,增强浅层网络进行特征组合的能力。FM部分由一阶和二阶特征交叉的计算组成,DeepFM是通过同时组合原来的W i de 部分、二阶特征交叉部分和Deep部分这三种结构,来进一步增强模型的表达能力。Wide&Deep模型影响力巨大,是因为很多深度学习推荐模型采用了两个、甚至多个模型组合的形式,利用不同网络结构的特性挖掘不同的信息并进行组合,这样就充分利用了不同网络的优势,有助于提升模型的推荐效果。
2TR-NeuMF推荐模型
本文使用的景点推荐模型Tr-DNNMF(Trou-ism Recommendation Basedon Deep Neural Net­work Matrix Factorization)基于神经协同 过滤(Neural Collaborative Filtering,NCF)框架[9],该框架的思路是把模型分成用户侧和物品侧两部分,再使用互操作层把这两部分联合起来,
产生最终的
第36卷第2期郑吟秋,等融合神经网络与矩阵分解的旅游景点推荐模型31
预测得分。下面根据Tr-DNNMF模型流程图(图2)与Tr-DNNMF模型的结构图(图3)详细阐述本文的工作流程、模型的具体结构及训练细节。
图2Tr-DNNMF模型流程图
2.1数据预处理
首先对采集到的原始景点数据进行预处理:提取并保存用于训练模型的主要字段,然后对数据进行去重、去异常数据等清洗工作。根据相应的训练集格式构造训练数据文件,再通过负采样操作给模型提供从隐式数据中进行学习的负样本,最后得到了用户景点交互数据和负采样数据。通过数据处理阶段,可以改善数据的质量,并对数据的分布和相关信息进行初步探索,有助于后续建模的过程。
2.2模型结构
TrDNNMF模型基于神经协同过滤框架,对用户景点的历史交互数据进行训练。首先,分别在旅游数据上训练广义矩阵分解模型(GMF,General ized Matrix Factorization)和多层感知机模型(MLP,Multi-Layer
Perceptron),然后把这两个模型最后一层的特征串联起来,将MF(Matrix Fac­torization)的线性和DNN(Deep Neural Networks)的非线性相结合,对用户景点的潜在结构进行建模,使模型既具备良好的扩展性,又有强大的拟合能力。TrDNNMF模型原理见图3。
图3Tr-)NNMF模型结构图
Tr-DNNMF模型中的MF结构可作为NCF框架下的一个特例,用户和景点的One-hot编码在经过嵌入层之后会分别生成用户和景点的隐向量,之后在GMF层中逐元素计算用户隐向量与景点隐向量的内积,在输出层使用sigmoid激活函数和对数损失函数。MLP结构使用了多层神经网络,在学习用户和景点潜在特征之间的交互时,在拼接的向量上添加隐藏层,使得模型具备较强的灵活性和一定的非线性,以解释用户和景点潜在特征之间的交互,增强了用协同过滤建模的能力。Tr-DNNMF模型的内容可定义为公式(1)~(3):
严=p U-q?⑴式(1)为GMF部分通过计算用户u的隐向量和景点i的隐向量的内积,以得到推荐得分
p U
=a L(W L(一(...a,(W T"+b)...))+b L)卩LqM」
销售业务员岗位职责
()式(2)为MLP部分通过多层神经网络从用户景点数据中学习交互函数,最终得到预测分数。
(3)
)
y=
'^GMF-
L e MLP」
式(3)为TrDNNMF模型最终通过拼接层得到GMF和MLP的融合模型预测结果。
为让融合模型获得更多的灵活性,Tr-DNNMF 模型中GMF和MLP先各自学习单独的嵌入,而不是使用共享的嵌入,如此可以避免共享GMF和MLP的嵌入向量对模型融合性能的限制,然后通过连接它们的最后一个隐藏层将这两个模型结合起来。
2.3模型训练
Tr-DNNMF模 型从零开始训练GMF和MLP,采用了Adam算法,通过对频繁的参数进行较小的更新和
对不频繁的参数进行较大的更新,动态地改变每个参数的学习率。与原始SGD相比,这两个模型使用Adam的收敛速度更快。在给Tr­DNNMF模型输入预先训练好的参数后,使用原始的SGD,因为Adam需要保存动量信息,以便正确地更新参数,而Tr-DNNMF模型只使用预先训练好的模型进行参数初始化,不保存动量信息,故不适合使用基于动量的方法来进一步优化Tr-DNNMF 模型。模型的输出层使用ReLU作为激活函数,使模型输出的预测分数表示用户和景点相关的概率,然后通过对数损失函数计算真实值与预测值的损失,进行参数更新。
Tr-DNNMF模型采用point—wise方法学习模型参数,使用的损失函数为平方损失的回归函数。由于TrDNNMF模型的目标函数是非凸的,基于梯度的优化方法只能到局部最优解,因此初始化对模型的收敛和性能起着重要作用,采用随机初始化。由于TrDNNMF模型是GMF和MLP的结合,本文使用GMF和MLP的预训练模型来初始化Tr-DNNMF模型。首先对GMF和MLP进行训练直到收敛。然后把它们的模型参数作为Tr-DN-
32湖北工业大学学报2021年第2期
NMF模型相应部分参数的初始化。在输出层连接
两个模型的权值,此过程中需通过对超参数的调整
来决定两个预训练模型之间的权衡。
3实验与分析
3.1实验数据
本文使用的用户评分数据来自携程网,进行了
感恩妈妈的句子简短50字数据预处理。用户评分数据包含4999条用户景
点交互记录,每行的格式为(用户ID,景点ID,用户
评分,时间戳),见表1,数据稀疏度为0.0189%,由
于模型是从隐式数据中学到交互数据中用户与景点
的关联性,故模型不会利用真实的评分,而是通过把
交互样本被标记为0(负样本)或1(正样本)来构建
训练数据,进行后续训练过程。
3.2实验设置表1景点交互数据示例
用户ID景点ID用户评分时间戳9373  1.124378
96011  1.082392
910210  1.090443
9122120.758831
914010.639387
9164340.714733
91773110.957942
本文使用MLP、GMF和Tr-DNNMF这三种模型实现了对用户景点交互数据的建模,前两种模型使用小批量Adam优化方法,针对Tr-DNNMF 使用了随机梯度下降算法。Tr-DNNMF模型的参数及数值见表2,其中模型的预测因子(factor num-ber)为模型最后一层隐藏层的神经元个数。表2是三种模型在HR@10和NDCG@10指标上的对比,实验结果表明模型融合后的性能更好。
表2实验参数设置
参数名称参数设置
Lcarning_rate0.001
batch_size256
epoches100
factor_nu m64
num layers4
negative items(training)4
negative items(testing)99
3.3评价指标
本文使用了命中率(HR)、归一化折损累计增益(NDCG)作为评估模型性能的评价指标,并将这两
个指标的排名都设置为10。在实验中,每个测试用户计算了这两个指标的平均值。HR是目前TOP-N推荐研究中十分流行的评价指标,能够很直观地衡量测试景点是否出现在前10名的景点列表中。HR的计算见公式(4):
井users
其中井users是用户数,井hits是测试集中的item 出现在Top-N推荐列表中的用户数。
NDCG通过给排名靠前的热门景点分配更高的分数来说明热门景点的位置,它在折损累计增益(DCG)的基础上进行归一化处理,取值在0—1之间。DCG假设相关度高的结果排在前面,高分的相关性更高,DCG与NDCG的计算分别见公式(5)和公式(6)。
NI)CG@K=⑹
i1儿G
其中,rl表示排在第z位的商品用户是否喜欢(值为1是喜欢,为0是不喜欢)p是推荐列表长度, zDCG是理想情况下的值。
3.4实验结果
本文在建模用户-景点交互数据时,对_ num和num_layers等参数进行了参数调优过程。实验了_num为[8,16,32,64]的情况和num_ layers为[3,4,5]的情况,当_num取值为64, num_layers取值为4时模型性能较好。如果factor _num取值过大会导致模型过拟合。模型在该参数配置下的实验结果见表3。
表3基于交互数据推荐的实验结果
姓的拼音
Models HR@10NDCG®10
GMF0.4790.333
MLP0.6620.425 Tr-DNNMF0.6650.455
实验结果表明Tr-DNNMF模型比MLP模型的NDCG@10提高了7%,HR@10提高了0.5%,比GMF模型的NDCG@10提高了37%,HR@10提高了38%。
4结论
根据景点推荐问题实现了TrDNNMF模型,详细介绍了模型结构与训练流程。本文用该模型在用户对景点的交互数据上进行了大量实验,并与单模型进行推荐性能的对比测试。实验结果表明,Tr-DNNMF模
型具有良好的景点推荐效果,与单模型相比,性能有较大的提升。为进一步提升景点推荐的效果,可从以下三个方面考虑:1)利用时间(如不同季节、节日效应),地理环境等多种上下文信息进行训练,实现不同类别景点的推荐权重的智能调节,
第36卷第2期郑吟秋,等融合神经网络与矩阵分解的旅游景点推荐模型33
推荐更满足用户需求的景点;2)除了用户评分数据,模型还可以利用包括景点图片和景点描述文本的辅助信息,构建更适合旅游场景的模型;3)利用图嵌入和基于邻域的推荐算法,进一步提升模型在高稀疏度数据上的效果。
[参考文献]
[1]李广丽.混合分层抽样统计与贝叶斯个性化排序的旅
游景点推荐模型研究华中师范大学学报(自然科学版),2019,53(2):214-220.
[]张尧舜.基于序列学习的旅游景点推荐研究[)]桂林:桂林电子科技大学,2019.
[3]Yehuda Koren,Robett Bell,Chris Volinsky.Matrix
factorization techniques for rccom mender systems
[C].//1EEE computer society.Piscataway:IEEE,
伊能静言论事件>猎人天赋怎么加
2009,42-49.
[]Suvash Sedhain,Aditya Krishna Menon,Scott San­ner,ct al AutoRec:Autoencoders meet collaborative filtcring[C].//2/lth International Conference on World Wide Web.Italy:WWW,2015,111-112.
[5]Ying Shan T,Ryan Hocns,J ian Jiao,ct al.Deep)cross­
ing-wcb-scalc modeling without manually crafted
combinatorial features[C].//International conference
on knowledge discovery and data mining.San Francis-
co:KDD,2016,255-262.
[6]Yanru Qu,Han Cai,Kan Ren,ct al.Product-based
neural networks for user response prediction[C]./Z
ACM transactions on information Systems.Barcelona:
IEEE,2016,1149-1154.
[7]Hcng-Tzc Cheng,Levent Koc,Jeremiah Harmsen,ct
al.Wide&deep learning for recommender systems
[C].//I)ccp learning for rccommender Systems.New
York:DLRS,2016,7-10.
[8]Huifeng Guo,Ruiming Tang,Yunming Yc,ct al.A
factorization-machine based neural network for CTR
prediction[C].//International joint conference on arti­
ficial intelligence.Melbourne:AAAI,2017,1725-
1731.
[9]Xiangnan He,Liii Liao,Hanwang Zhang,ct al.Neu­
ral collaborative filtering[C].//International world
wide web conference committee.Australia:WWW,
2017,173-182.
Tourism Attraction Recommendation Algorithm Based on
Deep Neural Network Matrix Factorization
ZHENG Yinqiu,WANG Hongyang,CHENG Yu,CHEN Jianxia
(School of Compuier Science,Hubei Univ.of Tech..Wuhan430068,China)
Abstract:In view of the continuous development of tourism,the overload of tourism related information, andthedi f icultyforuserstochoosesuitabletourista t ractions,thispaperdevelopsaTR NeuMFtourist a t ractionsrecommendation modelcombiningneuralnetworkandmatrixdecomposition.Themodelwi l a-dopttheframeworkoftheneura
lco l aborativefiltering model,usethegeneralized matrixfactorization modelandthemultilayerneuralnetwork modelasthepre-training modeltotrainseparately,andthenin-teg rate the two models to predict,the user's rating of the scenic spot,and recommend the scenic spot.This modelcombinesthelinearityofthematrixdecompositionandthenonlinearityofthedeepneuralnetwork o modelthepotentialcharacteristicsoftheuserandthescenicspot,sothatthemodelhasbothgoodscal-abilityandstrongfi t ingability.Thispaperusestheuserinteractiondataofdomestictourista t ractionsto conductexperiments.Theexperimentalresultsshowthatthefusion modelinthispaperis7%higherthan the single model NDCG@10,and HR@10increases0.5%.
Keywords:recommendationsystem;neuralnetwork;matrixfactorization;tourista t ractions
[责任编校:张岩芳]
>晋中景点

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。