张子烨 李明畅 梁凌睿 张铭华 谢贤芬 古万荣
(1.华南理工大学 数学学院,广东 广州 510640;2.暨南大学 经济学院,广东 广州 510632;3.华南农业大学 数学与信息学院,广东 广州 510642)
推荐系统广泛地应用于电子商务、视频网站、音乐电台、广告投放、新闻咨询等领域,为处于这些领域的公司的盈利做出了可观的贡献。据亚马逊前首席科学家Andreas Weigend的说法,亚马逊每年有20%~30%的销售来自推荐系统(参见blog.Kiwitobes.com/?p=58)。这足以说明对推荐系统进行研究能带来经济上的效益。
协同过滤算法通过用户与物品交互的行为预测用户的偏好,此法与物品内容无关。神经网络的引入,将向量(用于储存用户或物品特征)的学习程度发展到了非线性表示[1- 2],其中的基本体系结构被扩展到了利用社会和地理信息来提取用户和物品的信息[3]。一些神经网络算法主要学习基于显性反馈的评分预测任务[4- 5]。文中的内容专注于从隐性反馈中学习Top-N列表推荐[6]。然而,协同过滤算法存在着数据稀疏的问题。
物品通常与内容信息(如非结构化的文本)相关联,如论文关键词和商品广告文案。协同过滤算法可以扩展利用物品内容信息[7- 9]和用户评论[10- 12]。Chelliah等[13]对当前基于用户评论增强商品推荐的研究做了一个总结。
记忆网络可以用领域外的感知信息进行推理。由于记忆网络具有学习词语语义的能力,可以解决词的稀疏性和同义词、近义词的问题,因此可以用记忆网络对物品内容或相似用户进行建模[14- 15]。文中沿着这一研究思路,利用神经网络从文本内容中提取重要信息。
随着神经网络[16]技术的兴起,许多神经网络的文本挖掘技术被应用到推荐系统中来。在基于文本处理的推荐系统,CNN[17- 19]文本处理网络被用来提升单领域推荐中评分预测的精度。
跨领域推荐是缓解数据稀疏性的有效方案,其中一种有效的方法是将目标域上的协同过滤算法和辅助域上的另一个协同过滤算法组合在一起,从而实现了知识的迁移[20]。
在跨领域推荐系统,给定两个不同任务的处理方案,就可以让跨缝卷积网络(CSN)[21- 22]尝试对这两个方案进行不同权重的线性组合,并将这些组合作为输入信息提供给连接两个领域的神经网络,从而实现两个领域之间的知识迁移。近期,Khan等[23]对跨领域推荐系统的研究进行了系统的归纳。沿着这个思路,文中从提取项目的内容信息和信息跨领域的这两个方面对推荐系统进行研究。
为此,文中提出了一种改进的神经网络模型:联想型感知网络模型,它用于跨领域的内容推荐,其中感知网络是一种记忆网络,它能够有效地提取物品的内容信息;而联想网络起到知识迁移的作用,它能跨领域传输选定的信息。它的前部由共享的特性交互层构成,连接了从每个网络中学习到的成果。在真实的数据集上,文中的联想型感知网络与各种其它算法模型进行比较,在多个指标方面展现出了更好的性能。
文中将在本节中描述所提出的联想型感知网络模型,该模型利用了物品的内容信息。
表1提及的参数均可由实验调取的数据集获取,具体生成方式在下文提及。在介绍网络体系结构之前,先描述推荐系统问题和模型公式。
表1 模型参数
对于推荐任务,文中的简单目的是对用户的历史行为加以分析,得出一个推荐列表推荐给用户(也就是Top-N推荐)。期望刚才从辅助域中得到的行为信息能提高算法在目标域上的推荐性能。
用向量ru=(ru1,ru1,…,runT)表示用户u的交互行为,文中算法将以用户、内容文本、产生行为的辅助域物品作为条件,建立起观察该用户每次操作的概率模型。
(1)
这个公式能强化联想型感知网络模型的“想象力”,因为它会通过3个主要因素考察用户u喜欢目标域物品i的数学概率:
(1)用户u本人的偏好(来自目标域)。
(2)用户u对目标域物品(已购商品)的评价文本信息(dui)。
(3)用户u在辅助域的行为([j]u)。
文中将这个矩阵RT的似然函数定义为
p(RT)=∏u∏ip(rui|u,dui,[j]u).
(2)
文中所提出的联想型感知网络是一种神经网络,用端到端方式学习条件概率:
(3)
总体来说整个联想型感知网络由感知网络oui=fM(u,i,dui|ΘM)(fM表示数据经过感知网络处理)和联想网络cui=fT(i,[j]u|ΘT)(fT表示数据经过联想网络处理)组成。一个共享层fS(oui,zui,cui|Θs)(fS表示数据经过共享层网络的处理)共享了交互特性,领导着每一个个体的网络学习,其中zui是(u,i)交互行为的非线性表示。
文中引入感知网络来处理上述从目标域中提取出来的非结构化文本。感知网络是一种带有记忆增强的神经网络变体,它可以学习用户-物品交互信息(非结构化文本),并得出抽象表示。感知网络中的的注意力机制可以自动识别哪些词与用户偏好密切相关。文中构建感知网络的想法与Hu等[15]的想法不谋而合,但角度有所不同。
感知网络使用一个矩阵A∈RL×2d作为存储器,其中L为词汇量,2d为矩阵的维数。感知网络还有一个外部存储器C,其维数与A相同。
现给定一个文件dui=(w1,w2,…,wl)来储存(u,i)的交互信息,文中建立了一个感知存储单元mk∈R2d,其中每个单词wk都会被映射到矩阵A的向量中,而k=1,2,…,l和最长的文件的长度是感知的最大容量lmax。文中建立了一个偏好向量q用于对应文件dui和用户-物品交互行为(u,i),其中每个元素qk记录了用户u与物品i的相关性,计算方法如下:
(4)
然后可以通过一个向量点积来压缩上面的那两项,此举将用户和物品的关系压缩到了xui=[xu,xi]中:
(5)
注意力机制可以学习词义的权重,然后关注其中重要的词语。传统的词汇集合预先定义了一个初始权重函数,如平均值函数。而文中通过注意力机制产生的权重来推断每个单词的重要性:
(6)
文中用注意力机制对外部存储器进行了插值:
(7)
式中,外部存储器单元ck∈Rd是词向量wk另外的嵌入向量,由矩阵C的映射形成。此举生成了一个抽象的表示作为感知网络的输出内容。
外部存储器允许长时间储存知识信息,特别是每个词汇在匹配用户偏好时的重要性信息。也就是说,通过注意力机制遴选出来的都是重要的词汇,值得被收入矩阵C中妥善保存。
注意力机制对不同的用户和不同的物品可以对不同的词语进行加权,最终输出的oui是一种高级的信息,这些信息正是从用户-物品交互行为(u,i)中的文本单词dui中凝炼出来的。
联想网络的主要作用是获取辅助域的信息并加以利用,它是一种有选择性的跨领域传输知识信息的神经网络。它的主要构建想法是在训练过程中不断选择辅助域中用户-物品交互信息的权重并加以调整。假设用户u在辅助域中与物品[j]u=(j1,j2,…,js)进行了交互,联想网络则会通过迁移向量cui∈Rd来判定目标域中物品i是否会被对辅助域中某物品j产生过行为的用户u喜欢上。例如,当文中想要预测一个用户是否会对京东中的某款球鞋感兴趣时,文中会考察他在腾讯视频看了哪位球员的精彩集锦,这比考虑他在腾讯视频看过哪些电影重要得多。目标域和辅助域物品之间的相似度可以通过以下点积算出来:
(8)
(9)
然后迁移向量就能用相应辅助域物品的加权再求和算出来:
(10)
文中用激活函数整流线性单元引入了非线性迁移向量。根据以往的情况,激活函数在ReLU(x) =max(0,x)时效果比较好,因为它的非饱和性质适合于稀疏的数据。
迁移向量cui是一种高级表达,它总结了辅助域的知识,并作为联想网络的输出项。联想网络可以在目标域用户-物品的交互信息中,有选择地传输辅助域中的知识信息。
总的来说这个网络是一个多层次前馈神经网络,它的大致结构如图1所示。输入层是用户u、目标域物品i和对应的辅助域物品集合[j]u=(j1,j2,…,js)。内容文本组dui是感知网络生成的抽象表示oui。然后在联想网络组(u,i)的指导下,将辅助域物品信息写入迁移向量cui中。
图1 网络示意图
为了详解联想型感知网络,先用一层隐藏层网络去学习一个用户-物品的交互的非线性表示:
zui=ReLU(Wxui+b)
(11)
式中,W和b是隐藏层中的权重和误差参数。在典型的塔式结构中,zui的长度一般是xui的一半。
收集‘大鼠’MDSCs,分为对照组和诱导组,分别于0 h、3 h、6 h、12 h和24 h以及2 d、3 d、7 d和12 d收集并观察细胞,采用TaqMan探针法检测不同时期细胞中mtDNA拷贝数[5-7];将EtBr处理前后的细胞诱导为胰岛素分泌细胞(IPCs),分析两组细胞诱导分化成IPCs的数量差异[8-10];检测GSK-3β、sFRP、TCF/LEF及insulin、C-peptide的表达及甲基化差异情况,讨论mtDNA拷贝数影响胰岛素转化的机制。
这3个独立的网络的输出成果是内容文本、辅助域知识信息和用户-物品交互信息的高级特性,是不同网络学习到的不同特征空间,因此需要用一个共享层联系它们。
(12)
式中,h是学习过程中自主调整的参数。联立之后文中可以得到:
yui=[Wooui,Wzzui,Wccui]
(13)
(14)
该目标函数有概率解释,是下列似然函数的负对数似然度:
(15)
其中模型参数是
Θ={P,Q,H,A,C,W,b,Wo,Wz,Wc,h}
(16)
与式(2)相比,不使用空白信息去构造目标矩阵RT,而是仅从这些未观测样本的一个小子集中学习,并在每次优化迭代时从中随机抽取作为负样本(即负采样技术)。
目标函数可以通过自适应矩随机梯度下降(SGD)及其变体(如Adam)进行优化:
(17)
这一部分将用实验考察联想型感知网络与最先进的推荐系统相比各项评估情况如何,以作为各推荐系统性能参考。本节先介绍评估标准和实验设置,然后再比较不同推荐系统的性能。
如表2所示,文中在3类数据集上进行实验。第1类数据集来自CiteULike(详见http:∥www.cs.cmu.edu/~chongw/data/citeulike/),被广泛用于评估论文领域的推荐系统性能[8]。第2类数据集是开放的亚马逊数据,该数据集已经被广泛用于评估推荐系统的性能[10],本次使用的是其中的男士分区和体育用品分区。数据集中不包含其他信息,如停留时间和人口统计学数据等上下文信息。第3类是由Cheetah Mobile(美国一家大型互联网公司)提供的移动网络数据集,里面包含了用户阅读新闻的记录和手机应用的安装历史(详见http:∥www.cmcm.com/en-us/)。
表2中总结了使用的数据集的大致情况。注意,3类数据集的稀疏度都大于99%,能充分考验算法的性能。
对于CiteULike,文中使用Wang等[8]发布的版本,词汇量为8 000个,文本长度约为160万词,每单位文本(论文摘要)大概90词左右。注意这个数据集是单领域,文中用它来单独测试感知网络的性能。
对于亚马逊和Cheetah Mobile的数据集,文中仅使用其某个分区的数据,详见表2。实验中过滤了停止词、语气词等无实义的单词,并使用TF-IDF方法选择前8 000个不同的单词作为词汇表。每个商品涉及的文本大概33词左右,每条新闻的标题不足10词。
第1类数据只被用在了拓展实验中。而在对比实验中,其他非跨域类算法将只使用亚马逊男士领域和手机新闻领域的数据。
项目推荐任务采用领域内广泛采用的留一法(LOO)来进行评估,且遵循推荐系统中广泛接受的协议[25]。为此,在实验中为每个用户保留了他的一个交互动作(通常是最新的交互动作,如果没有时间信息,就采用随机选择)作为测试项。
按照标准的推荐策略,随机抽取99个不受用户影响的负面信息,然后评估推荐系统对这些负面信息的排名情况。仅选取推荐列表的前十个物品进行评估(即TopN=10)。
采用的评估项目是召回率(用Hit Ratio衡量)和归一化后的折算累计收益(NDCG)。前者召回率限于篇幅不予以介绍;后者取自折算累计收益(DCG),DCG在不同的列表之间很难进行横向的评估。而文中评估一个推荐系统,不可能仅使用一个用户的推荐列表进行评估,所以不同用户的推荐列表的评估分数就需要进行归一化。
评估项目的相关代码都可以在GitHub上找到(详见https:∥github.com/ princewen/tensorflow _practice/tree/master/recommendation/Basic-Evalua-tion-metrics)。
(1)最流行物品推荐(ItemPOP)。选取最热门的10个物品推荐给用户,热门程度通过该物品与所有用户的交互次数算出。最流行物品推荐算法较为简单,常用于各类算法的实验对比。
(2)多层感知方法(MLP)。它是一种使用前馈神经网络学习非线性相互作用的函数[25]。使用GitHub上发布的代码来评估(详见https:∥github.com/hexiangnan/neural_collaborative_filtering)。此外,基本的MLP网络的隐藏层被设置为[64→32→16→8],可从MLP相关文献中得出[28]。
(3)协同主题回归法(CTR)。这种模型算法利用一个辅助域来提高算法性能,CiteULike 数据集实际上来自此论文[7]。文中使用GitHub上发布的代码来评估(详见http:∥www.cs.cmu.edu/~chongw/citeulike/)。
(4)本地集中式记忆推荐系统(LCMR)。该算法是一种混合算法,其本地网络类似于文中的感知网络,但是他们研究的重点是深度混合方法[15]。该算法是文中算法的主要竞争对手。该算法的设置方法基本与文中算法相似,亦可见于其原文的实验设置[15]。
在亚马逊和Cheetah Mobile数据集上的评估结果统计信息分别见于表3和表4。通过评估结果,文中可以得到以下初步结论:
(1)文中的算法在亚马逊数据集上优于所有的参测算法,证明了文中算法在联系紧密的领域上的有效性。
(2)亚马逊数据集是文中算法的优势领域,这是因为男士衣物和体育用品的关系相当紧密,十分有利于跨领域的算法。在该数据集上,文中的算法获得了约15%~20%的提升。这说明了联想网络能够从辅助域中选择有用信息形成抽象表示,并且在选择时聚焦了与用户偏好强烈相关的重要词汇,从而能更有效地猜测用户的偏好。
(3)文中方法与LCMR在移动网络数据集上差距很小。文中分析后认为原因有以下两点,第一是新闻领域中的用户大多立场明确,这有利于LCMR对用户的偏好进行提取,因为它专注识别文本信息;第二是由于新闻领域的特殊性,在该领域中,所有的算法的成绩都会比较高,难以拉开差距,就例如最流行物品推荐在该领域中都能取得不错的效果。
表3 评估结果(亚马逊数据集)
表4 评估结果(移动网络数据集)
实验结果初步表明,文中提出的联想型感知网络在同时利用文本内容和辅助域知识进行推荐时具有优越性。并且,本算法适合在电子商务等用户偏好难提取,但领域间联系紧密的情形使用。
在本小节中,文中延续了2、3节的评估方案与评估设置,额外使用第1、2类数据集单独测试了联想型感知网络的两个重要构成部分:感知网络和联想网络的性能。文中还测试了联想型感知网络在不同推荐列表长度下的性能表现,文中选取了TopN=5,10,15,20,并在第2类数据集上进行实验。文中只选取了最流行物品推荐和LCMR这两种算法参与本次拓展实验。
单独使用感知网络,即在不借助辅助域信息帮助的条件下,在目标域通过神经注意力机制匹配词义与用户偏好来完成推荐任务;单独使用联想网络,即在不使用目标域用户-物品交互行为的前提下,通过分析用户在辅助域上的行为来完成推荐任务。其中联想网络和完整的联想型感知网络仅可用于含有辅助域的亚马逊数据集。
在CiteULike和亚马逊数据集上的实验结果见于表5和表6。通过评估结果,文中可以得到以下结论:
在第1类数据集上单独使用感知网络效果不佳,不及LCMR算法。文中分析后发现CiteULike数据集包含了很多文本信息(单位文本长度长达90词),这十分有利于LCMR这种专注识别文本信息的混合推荐算法。而在亚马逊数据集上,文本信息相对减少,于是感知网络的性能得以反超LCMR。
表5 在论文数据集上的评估结果
表6 在亚马逊数据集上的评估结果
不难看出在第2类数据集上,感知网络对文中算法的贡献比联想网络大。并且,在亚马逊男士和亚马逊体育这种联系紧密的领域中,感知网络、联想网络在单独使用时的性能均超过了LCMR,进一步说明了文中算法的优越性。
文中还改变了推荐列表的长度进行多次试验,得出了联想型感知网络不同的性能供参考。具体实验结果见于图2,实验结果表明,联想型感知网络可能在重视新颖性和多样性的任务中表现出较好的性能。这是因为提高新颖性和多样性要求推荐列表的长度要达到正常推荐列表长度(一般在10以内)的数倍。
图2 在不同列表长度下的评估结果
针对推荐算法的跨域推荐面临的数据稀疏性问题以及关联有效性问题,文中提出了一种新的深层次的神经网络模型:联想型感知网络模型,它由一个感知网络和一个联想网络组成,前者可以理解词语语义以匹配用户的偏好,后者可以有选择地在辅助域中传输有用信息帮助目标域。
实验结果表明,物品的内容信息和辅助领域的知识可以提高推荐系统的性能,并且可以在神经网络的体系结构下建起。利用这两种信息可以重置稀疏的用户-物品交互矩阵,解决了数据稀疏的问题。
文中的算法适合在电子商务等单个文本信息较少,但是领域之间联系紧密的情况下使用。在这样的领域,文中的算法表现出了更好的性能,提升达15%~20%。
此外,文中的算法在引入新颖性和多样性指标,或在冷启动时可能会表现出更好的性能,这有待进行进一步的实验研究。
在未来的研究中,还将使用分布式大数据框架处理海量数据,以验证文中模型在海量数据和分布式架构下的有效性。