本发明涉及一种互联网领域信息推荐方法,特别涉及一种信息融合个性化推荐方法,属于互联网信息推荐技术领域。
背景技术
随着信息技术和互联网的发展,当前社会从信息匮乏、传播缓慢的时代逐渐变成信息过载、信息冗余的时代。对于信息接收方,无法从海量的信息中快速找到目标信息;对于信息生产方,无法将信息曝光给目标用户。推荐系统作为二者中间的桥梁应运而生。推荐系统的效果取决于推荐算法的性能,学术界关于推荐算法的研究从未停下过脚步。
当前主流的推荐算法可以分为基于协同过滤思想的推荐算法、基于内容的推荐算法、基于图的推荐算法、基于深度学习的推荐算法以及混合类型的推荐算法。协同过滤思想的算法可以分为基于用户或物品的协同以及基于模型的协同过滤:基于用户的协同算法是先找到和目标用户兴趣相似的用户集合,然后找该用户集合喜欢且目标用户未有行为的物品;基于物品的协同算法是给用户推荐与他们喜欢物品相似的物品;基于模型的协同应用矩阵分解的思想来解决用户对未知物品的评价问题。基于内容的推荐算法主要根据提取的用户物品信息特征计算相似度得到推荐序列。基于图的推荐算法将用户行为表示为图模型,并应用图模型算法解决推荐问题。深度学习的兴起也给推荐带来了新的思路,提出了许多应用或融合深度学习算法的推荐算法。
在上述总结的几种推荐方法中,协同过滤的方法应用最为广泛,但仍然存在新物品冷启动等诸多问题。多数的推荐算法仅利用用户和物品的显性反馈信息(评分矩阵),而忽略了物品本身的信息(物品文字描述信息、图像信息、视频信息等)对推荐模型的价值。深度学习中的表示学习则可以很好解决这一问题,表示学习算法能够生成保留原始数据特征的低维稠密的向量表示,蕴含语义信息的物品向量化表示可以融入到推荐模型的训练当中。因此,如何充分利用物品本身的信息来补充用户交互信息优化推荐效果正成为当前亟待解决的问题。
技术实现要素:
本发明为解决现有推荐方法的新物品冷启动问题以及优化推荐结果准确率,提出一种信息融合个性化推荐方法,该方法通过发掘和利用物品信息价值补充用户交互信息,优化推荐效果。本发明的目的是通过以下技术方案实现的:
一种信息融合个性化推荐方法,包括以下步骤:
步骤1:对数据集进行数据预处理,提取物品三种形态信息,即确定物品间关系种类、构建物品间关系网络,确定物品文本信息,确定物品图像信息;
步骤2:利用网络表示学习方法提取步骤1中构建的物品关系网络中实体的向量化表示,即物品的网络关系特征;
作为优选,所述网络表示学习方法为单关系网络表示学习方法或多关系网络表示学习方法。
作为优选,所述单关系网络表示学习方法为node2vec(node2vec:scalablefeaturelearningfornetworks)算法。
作为优选,所述多关系网络表示学习方法为mne(astructuralrepresentationlearningformulti-relationalnetworks)算法。
步骤3:利用文本表示学习方法提取步骤1中物品的文本信息,获得物品的文本属性的向量化表示,即物品的文本特征;
作为优选,步骤3中所述文本表示学习方法为doc2vec算法中的pv-dm模型。
步骤4:利用图像特征提取方法提取步骤1中物品的图像信息,获得物品图像属性的向量化表示,即物品的图像特征;
作为优选,步骤4中所述图像特征提取方法为堆叠卷积自编码器算法,在编码器和解码器之间加入全连接层,待模型训练至收敛后,编码器和解码器之间全连接层的输出作为图片特征的向量化表示。
步骤5:利用步骤2至步骤4中得到的各维度下物品的特征向量,按照公式1计算用户对物品i的偏好值,得到各维度下用户对物品的偏好特征值;
其中,vp(i)表示某一特定属性维度p下物品的特征向量,p为物品的网络关系属性、文本属性或图像属性;n(u)表示用户u喜欢的物品集合,c(vp(i),vp(i′))表示物品i与物品i’在属性维度p下的相似度,1≤i≤n,n为备选集中物品的总数;
作为优选,所述相似度为余弦相似度。
步骤6:将步骤5中得到的各维度下用户对物品i的偏好特征值输入到已训练的排序模型中打分,取备选集中分数top-n的物品推荐给用户。
作为优选,步骤6中所述排序模型为lambdamart算法,算法中设定决策树数量为500,叶子数量为15,学习率为0.1。
有益效果
本发明将物品属性信息划分成网络结构信息,文本信息和图像信息三种形态,针对每种形态信息应用不同的表示学习方法进行特征提取,将物品属性的特征信息应用到物品的推荐任务中。通过发掘和利用物品的属性信息补充稀疏的用户主动交互数据,提高了推荐结果的准确率;同时物品属性信息的融入可以使得推荐不仅限依赖于评分数据,可以帮助解决新物品冷启动的问题。
附图说明
图1是本发明ehir推荐方法的流程示意图。
图2是本发明构建单关系网络示意图。
图3是本发明构建多关系网络示意图。
图4是现有mne算法模型中结构约束关系。
图5是本发明ehir方法与其它方法召回率recall的对比结果示意图。
图6是本发明ehir算法与其它方法map的对比结果示意图。
具体实施方式
本发明提供的是一种基于表示学习的推荐方法,表示学习可以在保留原信息语义的条件下将原信息表示成低维稠密的实值向量,利用不同的表示学习方法对不同形态信息进行建模提取其特征向量并应用于推荐任务当中,有效地解决了新物品冷启动问题以及优化了推荐结果的准确率以及召回率。下面将结合附图对整个方法过程步骤进行详尽地介绍及说明。
本实施例将发明内容中的步骤应用在电影推荐场景中以体现技术效果。本实施例应用movielens1m的电影数据集,该数据集包括由6040个用户对3900个电影的1000209条评分,评分的分数从1分到5分,本实施例中定义用户评分在4分或5分即视为用户喜欢该电影,否则为不喜欢。图像信息和文本信息是抓取维基百科上对应的海报图以及电影简介,其中能获取到电影海报的电影数量是2855部,能获取电影简介的电影数量是3075部。
图1是本发明一种信息融合个性化推荐方法ehir的整体框架示意图,该方法整体分为数据处理、提取特征向量、特征工程、排序预测几个部分。其核心为两部分:基于表示学习的特征向量提取和排序预测。步骤2至步骤4为第一部分,即针对不同形态信息应用表示学习方法进行信息的特征提取;步骤5至步骤6为第二部分,即计算不同维度下用户物品的偏好特征,并利用排序学习模型融合全局特征,从而得到用户的推荐列表。
步骤1首先对推荐数据集进行数据分析以及预处理,即确定物品间关系种类、构建物品关系网络以及提取相应的图像和文本信息。本实施例中,提取的电影关系种类为电影类别信息、导演、出演演员、编剧、国家、发布信息以及评分信息;提取的文本信息为电影简介;提取的图像信息为电影海报图。特别地,在关系网络的构建上,本发明构建了两种类型的关系网络,即图2所示的单关系网络和图3所示的多关系网络。图2所示的单关系网络中,对于每个选定的特定关系均构建一个关系网络,即两个电影实体之间存在特定关系即有一条边。图3所示的多关系网络中,两个电影实体存在一种关系即有一条边,该边有不同的标签,代表不同的种类的关系。构造两种类型关系网络的原因是,单关系网络的可解释性更强,能够明确每个关系的现实意义;多关系网络的语义信息更加丰富。至此,得到物品间两种关系网络和物品的图像文本信息。
步骤2应用网络表示学习方法学习步骤1中构建的物品间关系网络,获得节点的向量化表示。
网络表示学习方法为有很多不同类型的网络表示学习方法。从网络中关系类别来看,可以分为单关系网络表示学习方法和多关系网络表示学习方法,单关系网络指网络中不区分关系类别,多关系网络指网络中区分多种关系类别。本发明分别应用一种单关系网络表示学习方法和一种多关系网络表示学习方法来提取物品关系网络下的向量化表示。
单关系网络表示学习方法有几个比较经典的算法:较早提出的deepwalk(deepwalk:onlinelearningofsocialrepresentations)算法采用了自然语言处理中词分布的思想,利用网络结构中节点度的分布结合随机游走和skip-gram模型来推导出网络的向量化表示。node2vec算法基于deepwalk的思想优化了采样网络结构的过程,能够保存更丰富的网络结构信息。line(line:large-scaleinformationnetworkembedding)算法定义了节点之间的相似性关系结构,通过同时保持网络节点一阶相似性和二阶相似性学习出网络的向量化表示,适用于大规模的带权有向图。本实施例中应用node2vec算法提取特定关系网络下物品的向量化表示。
多关系网络表示学习方法中,基于向量翻译的多关系网络表示学习方法在近期应用比较广泛,即transe(translatingembeddingsformodelingmulti-relationaldata)算法,transh(knowledgegraphembeddingbytranslatingonhyperplanes)算法和transr(learningentityandrelationembeddingsforknowledgegraphcompletion)算法。这类算法以保证网络中成对的连接结构为基础,却忽略了大多数多标签网络中重要的连通结构,从而影响网络表示的准确性。针对此弊端,mne算法提出了一种基于网络结构性质的多关系网络表示学习方法,在保证网络中结构性质的同时,学习出多关系网络中节点和边的向量化表示。本实施例中应用mne算法提取物品间多关系网络下物品的向量化表示。
下面对本实施例选用的两种表示方法具体介绍如下:
单关系网络表示方法node2vec:
图2中每个关系r∈r构造的关系网络记为gr,对每个网络gr学习实体到其特征表示的映射关系fr。设定源节点表示为u,其邻居节点表示为ns(u),在用映射关系fr表示原节点条件下,最大化源节点和其邻居节点ns(u)共现的对数释然概率,目标公式为公式2。
整个应用过程可以分为三个阶段,第一阶段是预先计算转移概率;第二阶段利用第一步计算得到的转移概率进行随机游走;第三阶段是利用随机梯度下降的方法对参数进行更新。对于每一个节点v∈v,即每个电影都有特定关系下的向量表示fr(v)。至此,获得单关系网络下学出的电影向量化表示。
多关系网络表示方法mne:
图3中物品间多种类关系构成的网络记为g=(m,e,r),网络中的实体即电影用m={m1,m2,...,mn}来表示,e为边的集合,ωij表示边(vi,vj)的权重,关系集合用r={r1,r2,...,rs}来表示,即网络中边有多个标签。例如电影mi和电影mj电影种类相同且导演也相同,用rt表示电影种类关系,rs表示电影导演关系,即存在关系(mi,rs,mj)和(mi,rt,mj)。该模型通过保证网络中的结构关系来保证原语义关系,即通过保证图4中所示的三种结构间接的保证平行四边形结构,三种结构分别表示节点mi的三种情况:出度为2,入度为0;出度为1,入度为1;出度为0,入度为2。
算法的输入为构建好的多关系网络g、学习率η、负采样样本个数k以及向量维度d。首先从节点集合采样节点mi及其邻居节点mj和mk,判断得到的三元组(mi,rs,mj)或(mj,rs,mi)以及(mi,rt,mj)或(mj,rt,mi)是否满足图4中的三种情况,并根据目标公式以及设定的学习率更新模型中参数。在负采样过程中,采样负样本点以及负样本关系,负样本即不满足图中所示结构的节点样本,负采样操作是为了提高模型的泛化能力。向量更新结束的条件是目标函数收敛,即参数值不再发生过多变化,完成整个网络参数的更新过程得到网络中所有实体和关系的向量化表示。至此,获得多关系网络下学出的电影向量化表示。
步骤3利用文本表示学习方法来提取文本信息,即本实施例中电影摘要的向量化表示。
可以采用现有的任何文本表示学习方法如词袋模型、tf-idf、主题模型以及基于神经网络的方法提取本实施例中的电影摘要的向量化表示。本实施例应用基于神经网络思想的doc2vec方法提取电影摘要文档向量,起初每个单词都是一个随机的n维向量,与词向量表示方法word2vec不同的是,doc2vec中加入了文档向量参与词向量的训练过程,虽然文档向量和词向量的维度相同,但是属于两个不同的向量空间。具体实现过程如下:
文档向量和词向量的组合方式除了上述过程中用到的连接方法,常用的方法还有累加或者平均的操作,目的均为在词向量的训练过程中融入文档向量保留文档的语义。训练过程利用到了负采样的操作,即对每个目标词都混入n个负样本,利用逻辑回归把目标词从噪声分布产生的词中区分出来,本实施例中设定的n值为5。doc2vec满足了在保留文档主题语义的条件下对文档向量化表示。
此模型的优点是从无标签数据中学习,免去了人工标注的工作,且保留了单词的语义信息,考虑了词序的关系。至此,可以得到蕴含原文本语义关系的物品文本信息向量化表示。
步骤4利用图像特征提取方法,即堆叠卷积自编码器方法提取图像的特征向量。图像表示学习方法有很多,主要分为基于矩阵分解的图像特征学习方法和基于深度学习的图像特征学习方法。本实施例应用堆叠卷积自编码的方法提取图片的特征向量。该方法结合降噪自编码的无监督学习方式和卷积神经网络的卷积、池化操作,通过堆叠多个卷积-反卷积这样的网络结构实现一个深层的神经网络,利用计算值和真实值的交叉熵作为损失函数,实现图像的特征提取。堆叠卷积自编码器多用于图片的降噪处理,通过学习图片的特征信息,还原图片丢失部分的信息,因此训练好的模型可以看作具有提取图片特征的能力,所以本实施例先利用噪声图片训练模型,利用训练好的模型提取未知图片编码阶段的输出当作图片的特征向量。具体实现过程如下:
输入层:先在原始数据基础上构造噪声数据,通过改变电影海报图片的像素值来模拟噪声数据。每张图片由四阶张量来表示,代表第i部电影海报的rgb像素值,图片原始大小为220×220。
编码端-卷积:卷积层设置了三层卷积和池化层对图像进行处理,卷积过程中均使用3×3的滤波器提取图像的特征映射,设定滑动步长为2,对于剩余不够卷积核扫描的地方选择填0补充操作,三层卷积核数量分别设定为64,64,32。对于卷积后的结果池化操作用的是最大池化方法,滤波器大小设置为2×2,滑动步长也设置为2。所有卷积层的激活函数均用relu函数,目的是将特征映射非线性化。经过3层的卷积池化操作之后,得到的结果相当于自动编码器中的隐层,数据大小已经被压缩到4×4×32。到此完成了编码端的卷积操作,图片的数据维度从220×220×3变成4×4×32。
全连接层:上一层卷积层输出的结果是每部电影海报图卷积后的三阶特征映射,通过全连接层将其转化为指定维度的特征向量,设置隐藏层节点数量为100,即每张电影海报图都会得到1×100的向量表示。卷积自编码器中并没有这一层,加入这层的目的是为了获得图片的特征向量。在训练过程中将这层的输出再转为3阶张量进行下一部分的解码操作,最终输出这层的特征向量表示图片海报。
解码端-反卷积:这一部分的操作可以看作是上一部分的逆过程,相当于自动编码器中的解码过程,用到的是上采样操作,是池化操作的逆过程,经过三次上采样操作,得到原始图像大小。
定义损失函数和优化器:损失函数用的是交叉熵进行计算,优化器选择的是adam方法,优化函数学习率设定为0.01。
输出:当损失函数收敛之后,输出全连接层设定维度的特征向量作为图像的向量化表示。
至此,可以得到电影图像信息向量化表示。
步骤5应用步骤2至步骤4获得的物品向量化表示计算用户对物品的偏好特征。在步骤2至步骤4中,得到各关系维度下物品的特征向量,求解物品特征向量的目的是利用物品相似性求解用户与物品之间的偏好关系。本实施例中电影推荐场景下定义评分大于等于4分代表用户喜欢此物品,反之为不喜欢。某个用户和某个物品的相关性,通过计算备选集中物品和该用户所有喜欢物品的相关性衡量,具体求解方式如公式1所示。
步骤6将步骤5中得到的各维度下用户对物品i的偏好特征值输入到已训练的排序模型中打分,取物品备选集中分数top-n的物品推荐给用户。
作为优选,步骤6中所述排序模型为lambdamart算法,
排序模型分为三种类别,分别为pointwise类方法,pairwise类方法和listwise类方法。pointwise类方法没有考虑到物品间的顺序关系,pairwise类方法仅考虑了两个物品间的偏序关系忽略了物品在推荐列表中的位置,listwise类方法直接对物品的排序列表进行优化。lambdamart算法属于listwise类方法,且将排序函数与最终对其的评价标准相关联,能够有效地使得每一次的迭代更新都向着评价指标提升的方向进行。因此,较优的,本实施例中选择lambdamart方法作为排序模型。
将步骤5得到的本实施例电影数据集的特征样本按照7:3划分训练集与测试集对lambdamart进行训练,本实施例中设定决策树数量m=500,每棵树的叶子数量l=15,学习率η=0.1。每次迭代训练的弱模型回归树加到当前的模型中,根据学习率η更新每个物品的得分。
至此,可以获得最具有较好泛化能力的回归树,即排序模型,利用学习到用户偏好的排序模型输出最终的推荐结果序列。
实验结果
本发明应用recall和map评估指标来评估效果,评估指标的计算方式如下:
设定共n个用户,对用户u推荐的物品集合记为r(u),在测试集中用户标记喜欢的物品的集合记为t(u),推荐任务中通常需要设定一个k值来截断推荐序列,即在推荐模型输出结果r(u)中,取与用户最匹配的k个物品。公式11为召回率的计算公式,分子为截断的推荐序列中用户喜欢的物品,分母是测试集中用户所有喜欢的物品。
map在准确率的基础上考虑了位置的因素,map可以看作由3个部分组成,分别是p,ap和map。其中p是指推荐结果中某个用户的某个推荐物品的位置准确率,分子为推荐列表和测试集中用户实际喜欢的交集物品的位置,分母为交集物品在推荐列表中的位置,ap则是对于一个用户推荐的所有物品都进行上述的计算并加和求平均,map则是对所有用户计算ap并加和求平均,如公式12所示。
本实施例通过与一些当前主流的基于协同过滤思想的推荐算法进行了实验对比从而证明本发明的有效性。特别地,根据步骤2中两种不同的网络表示方法将本发明分成两个子算法分别进行实验来验证本发明方法效果,即ehir-node2vec和ehir-mne。
图5描述的是召回率(recall)随推荐序列长度(k)的变化情况。可以看出,随着推荐序列长度的增加,召回率呈上升趋势,在选取的每一个推荐序列长度,本发明提出的两个子算法方案的召回率均优于对比算法。召回率的增长速度随着推荐序列长度的增加而放缓,代表越来越接近模型召回能力的上限。
图6描述的是平均准确率(map)随推荐序列长度(k)的变化情况,可以看出本发明提出的两个子算法方案在平均准确率(map)上效果也要优于几种基于矩阵分解思想的对比算法。两种指标的提升可以说明融合各维度物品信息特征能够提升最终的推荐效果。且基于本实施例,应用多关系网络表示学习方法mne和应用单关系网络表示学习方法node2vec的推荐效果相近,多关系方法mne的效果略优,物品的多维度信息对物品的向量化表达上是有正效果的,信息越丰富,学习出来的物品向量越能够保存原语义信息特征关系。
以上仅为本发明的优选实施例,并不限制本发明,本领域的技术人员应理解:在不脱离本发明及其所附权利要求的精神和范围内,对最佳实施例步骤的各种修改、变化或替换都是可能的。因此,本发明不应局限于最佳实施例及附图所公开的内容。