评论感知的异构变分自编码器推荐模型
刘树栋1,2, 张嘉妮1,2, 陈旭1,2    
1. 中南财经政法大学 人工智能法商应用研究中心, 武汉 430073;
2. 中南财经政法大学 信息与安全工程学院, 武汉 430073
摘要:随着推荐系统的研究与发展,人们越来越关注个性化服务信息的准确推送,而对于推荐中数据稀疏的问题,传统评分信息协同推荐的方法很大程度上不能解决。因此人们将一些上下文信息引入到推荐系统中,而蕴含用户偏好的评论文本信息也被广泛用于缓解数据稀疏和冷启动的问题。自编码器作为一种无监督学习方法,在异常检测、人脸识别、数据增强和数据生成等领域具有优秀的表现,其中变分自编码器可以通过神经网络学习用户和项目潜在特征的分布。目前较少有研究利用用户评论信息融合的变分自编码器实现评论感知的推荐,该文提出一种评论感知的异构变分自编码推荐模型。首先,通过注意力机制和神经网络将评论上下文信息引入变分自编码器中,保留变分自编码器对评分信息潜在特征分布的学习,并在早期和后期两阶段进行特征融合,构建多模态的异构变分自编码器模型。其次,针对多模态模型训练,进一步优化引入复合先验项和平衡系数计算项。实验结果表明,该模型在召回率和归一化折损累计增益评价指标上都优于其他对比模型。
关键词变分自编码器    特征融合    神经网络    推荐系统    评论感知    
Review-aware heterogeneous variational autoencoder recommendation model
LIU Shudong1,2, ZHANG Jiani1,2, CHEN Xu1,2    
1. Centre for Artificial Intelligence and Applied Research, Zhongnan University of Economics and Law, Wuhan 430073, China;
2. School of Information and Security Engineering, Zhongnan University of Economics and Law, Wuhan 430073, China
Abstract: With the advancement of research and development in recommendation systems, more attention has been paid to the precise recommendation of personalized information. The traditional method of collaborative filtering cannot meet the demand due to the scarcity of data in recommendation; thus, contextual information has been introduced to recommendation systems. Review text information containing user preferences is also widely used to alleviate data sparseness and cold start problems. As an unsupervised learning method, the autoencoder performs well in anomaly detection, face recognition, data augmentation, and data generation. The variational autoencoder can learn the distribution of latent vectors of users and items via neural networks. At present, only a few researchers are working for review-aware recommendations using variational autoencoder. This paper proposes a review-aware heterogeneous variational autoencoder recommendation model that introduces comment context information into the variational autoencoder through attention mechanism and neural network. The learning about latent feature distribution of the rating information by the variational autoencoder is retained, and feature fusion is performed in the early and late stages to construct a multimodal heterogeneous variational autoencoder model. Besides, the compound prior term and the balance factor calculation term for multimodal model training are further optimized. The experimental results showed that the proposed model outperforms the state-of-the-art other baseline models in recall and the normalized cumulative gain.
Key words: variational autoencoder    feature fusion    neural network    recommender systems    review-aware    

为了解决个性化信息推送服务,人们提出了推荐系统[1-2],通过分析用户的历史浏览日志,学习用户个性化偏好,帮助用户过滤掉其不感兴趣的信息。推荐算法是推荐系统的核心,近20年来受到国内外多学科领域学者的关注和研究,并取得了丰硕的研究成果。推荐系统作为数据挖掘和机器学习领域的应用技术之一,着重研究用户—项目的二元关系,从而进行推荐算法的设计。以协同过滤为代表的早期推荐算法,构建用户—项目评分矩阵,以传统统计机器学习方法为基础,根据相似用户具有相似偏好的启发式假设,在评分信息充分的情况下,对两两用户进行相似性计算,为目标用户找到兴趣相似的用户,从而完成协同推荐。此类推荐算法容易受冷启动和数据稀疏性的影响。为了解决协同过滤推荐中的不能实时捕获随上下文因素变动的用户偏好变化问题和冷启动问题,引入用户的上下文信息(如时间、位置、情绪、活动状态等)[3-4]和社会关系信息[5-6],人们提出了上下文感知[7-8]及社会化推荐算法[9]

随着大数据处理技术的日渐成熟,各种信息服务平台聚集了大量信息项目和用户,将所有项目和用户都组织在一个用户—项目二元交互矩阵中时,由于受用户与项目交互次数和交互范围的影响,用户—项目二元矩阵中会存在大量零元素,从而导致了协同过滤推荐算法中的数据稀疏性问题。为了解决此问题,研究人员提出了以矩阵分解为基础的因子分解机模型[10],将用户—项目交互而产生的高维稀疏矩阵分解成2个低秩矩阵乘积,分别称为用户潜在特征矩阵和项目潜在特征矩阵。此外,研究人员将用户上下文、社会关系、社会属性、情感等信息以正则化项或加权的方式融合的矩阵优化分解过程中,产生了多种基于矩阵分解的推荐算法[11]和应用类型[12]

近些年来,深度学习技术在计算机视觉、自然语言处理等领域的成功应用促进了深度推荐技术的发展。深度神经网络的多层特征交互为获取用户—项目深层交互特征提取提供新的解决方法。例如,Guo等[13]为了同时获取用户—项目之间的低阶特征交互和高阶特征交互,提出了一种融合矩阵分解和深度学习的神经网络推荐框架;He等[14]利用多层感知机代替矩阵分解的内积进行潜在特征交互学习,突破了矩阵分解只能进行二阶交互的限制,使模型具备更强的学习能力和灵活性。由于在异常检测、人脸识别、数据增强和数据生成等领域具有广泛的应用,自编码神经网络理论和应用研究[15]逐渐引起研究者的关注。作为一种无监督学习方法,自编码器可以独立学习用户和项目的潜在特征,从而缓解推荐系统中数据稀疏性和冷启动等问题,变分自编码器是自编码器的一种拓展,其特有的重参数化采样能够非线性地捕获更加复杂的特征数据,同时也更具可解释性。

深度神经网络的多样式表示学习不仅可以把用户上下文、社会关系、社会属性、情感等信息融合到深度协同过滤和矩阵分解中,还可以融入用户文本评论及用户—项目多层异构交互图等。例如,Xin等[4]提出了一种交互立方体表示上下文感知的特征,利用三维卷积神经网络隐式学习所有上下文特征表示之间的高阶交互;Wu等[5]利用深度影响力传播模型去模拟用户受到全局社会化网络的迭代影响,提出了一种图卷积社会化推荐方法;Li等[16]提出了一种多任务学习的推荐方法,通过一个翻译机制模拟用户,项目和元路径之间的三种交互,并为推荐结果提供一种可解释机制。但现有评论感知推荐方法往往忽略文本信息、评分等数据自身形式的不同,直接进行矩阵拼接,构建多模态模型,对参数进行人工设置,忽视训练中不同模块互相影响带来的消极作用,不能充分挖掘潜在的信息,导致模型效果有限。

综上,目前基于深度学习的推荐算法研究大都对用户—项目—上下文/社交关系三维数据进行深度挖掘,提取隐含其中的深层次交互特征,达到提高推荐效果的目的,然而用户—项目评分矩阵不能全部地反映用户偏好特征和对项目的语义评价。用户对项目的文本评论信息不仅能够表示用户对项目的语义偏好,而且能够展现出用户对项目在不同维度上的语义评价。为此,本文将用户文本评论信息融合到变分自编码器中,基于文本信息与项目评分在数据形式上存在不同,提出一种评论感知的异构变分自编码器(heterogeneous variational autoencoder)推荐模型,简称HVAE,通过双向长短记忆网络(bi-directional long short-term memory network, Bi-LSTM)和变分自编码器进行特征提取,构建多模态的异构变分自编码器,引入复合先验项缓解多模态模型训练中对其他模块可能存在的影响,并在2组公开数据集上验证了该模型的有效性。

1 相关工作 1.1 基于自编码器的推荐算法

目前,基于自编码器的推荐算法逐渐成为推荐系统领域热点研究方向之一[17]

首先,研究人员尝试把自编码器应用到协同过滤、矩阵分解等传统推荐算法中,取得了一定研究成果。例如,Wang等[18]将循环神经网络和协同过滤结合在一起,利用协同循环自编码器去模拟协同过滤推荐环境中推荐内容的生成过程;Li等[19]提出了一种称为协同变分自编码器的Bayes生成模型,能够同时考虑用户评分和项目内容信息,以非监督学习方式学习项目内容潜在分布特征,并从评分数据和项目内容数据中学习用户—项目间的隐式关系;Zhuang等[20]以矩阵分解为框架基础,用双向自编码器学习用户和项目潜在特征,并提出了一种梯度下降法去实现这个学习过程;Zhu等[21]提出了一种基于联合协同自编码器框架的top-k推荐方法,以用户—项目关系矩阵为基础,同时学习用户—用户和项目—项目之家的关系,采用一种成对交叉目标优化函数去最大化top-k推荐的正确率和召回率;Lacic等[22]提出了一种基于不同的自编码器学习框架的序列推荐方法,将潜在序列表示融合到近邻学习算法中,从而为用户提供序列化推荐。

其次,研究人员将用户—项目二元数据之外的上下文、信任关系、文本评论等附加信息融合到自编码器模型中,构造上下文感知推荐、社会化推荐、评论感知推荐等算法。例如,Jhamb等[23]利用注意力机制将上下文信息编码到用户偏好隐式表示中,并依此为用户提供推荐项目;Zhou等[24]利用一种双头注意力融合自编码器模型,从用户文本评论和隐式反馈数据中联合学习用户与项目表示,提出了一种上下文感知的推荐算法;Deng等[25]首先利用深度自编码器去提高矩阵分解初始潜在向量的学习能力,然后利用社会信任和社区影响去修正矩阵分解模型,提出了一种信任感知的社会化推荐方法;Wang等[26]首先根据用户之间的相似性提取用户间隐式信任关系,并与显式信任关系融合,利用降噪自编码器把用户—项目评分和信任关系集成在一起,从而利用用户间的信任关系提高了推荐系统的性能。此外,Bellini等[27]尝试利用多种信息编码到知识图谱中构建推荐解释,测试用户对推荐解释的接受程度,把语义感知的自编码器作为推荐引擎,提出了一种知识感知的可解释性推荐方法;Chen等[28]利用变分自编码器从用户—项目评分和辅助信息中学习特征表示,提出了一种端到端的top-k推荐方法;Galke等[29]利用对抗自编码器,提出了一种多模态的引用和主题标签推荐系统,利用对抗正则化提高推荐系统的性能。

1.2 评论感知的推荐算法

以协同过滤和矩阵分解为代表的传统推荐系统为用户—项目二元关系为主要研究对象,借助于上下文、社会关系等其他附加信息去解决普遍存在的数据稀疏性和冷启动等问题。近年来,随着文本深度表示学习技术不断发展,把用户评论信息引入到推荐算法中,不仅能够充分挖掘用户的语义偏好,而且能够获取项目的语义内容,从而提高推荐算法性能,这逐渐引起研究者的关注,并取得了一定研究成果。

起初,研究人员从用户评论信息中挖掘用户的观点或情感,获取项目在不同方面的语义内容,并将其应用于协同过滤或矩阵分解推荐算法中。例如,为了解决用户评分信息不能体现用户对项目多方面的偏好学习,Yang等[30]提出了一种多方面观点加权的协同过滤推荐框架,其由观点挖掘、观点加权及计算和评分预测三个模块构成;Wang等[31]和Nie等[32]把用户、项目、观点这三维数据用一个加权张量表示,利用基于张量分解自动学习推测用户多方面观点的权重,并对用户整体评分进行预测;Cheng等[33]利用观点感知主题模型从用户评分中学习用户偏好和项目特征,评估一个用户对项目多方面观点的重要程度,并将其融合到多种观点感知的潜在因子分解模型中;Wang等[34]提出了一种利用情感分析进行观点增强的协同过滤推荐方法。

近几年来,研究人员逐渐将用户评论信息融合到深度学习框架中。例如,Alimahairi等[35]利用词袋专家乘积模型(product-of-experts)和循环神经网络代替潜在Dirichlet分布模型,研究了不同评论模型对协同过滤推荐结果的影响;Hyun等[36]提出了一种评论感知的推荐算法,在用户和项目建模过程中充分考虑用户评论的情感,将每条评论编码成一个固定长度的向量,并学习用户评论表达的情感偏好;为了解决基于观点挖掘的推荐算法中存在用户间共同观点较少和一个用户对不同项目有不同观点的问题,Tay等[37]提出了一种多指针学习模型,能够提取用户和项目评论的重要部分,并将其应用到评分预测中;Guan等[38]人提出了一种基于观点注意力的推荐方法,用同义词和相似观点共同作用去解决用户间共同观点较少的问题,用注意力神经网络同时捕获用户、项目和观点3方面的信息。

综上,基于自编码器的推荐系统已经尝试将评论感知应用其中,并取得了不错的效果。变分自编码器作为非线性概率模型相较传统的自编码器具有更加强大的学习能力,同时天然的噪声引入能够有效避免过拟合,但其更为复杂的实现过程使得评论感知的多模态模型在训练中常常难以取得良好的效果,目前较少研究将用户评论信息融合的变分自编码器中实现评论感知的推荐。

2 评论感知的异构自编码器推荐模型

HVAE模型主要包含文本特征提取模块(评论编码器)、变分自编码器编码(评分编码器)、特征融合模块和解码器4部分,模型结构如图 1所示,其中SZ分别表示用户评论文本和评分数据的特征表示,V代表用户评论文本和评分数据的融合特征表示。

图 1 HVAE模型结构

2.1 文本特征提取模块

相比用户评分数据,用户对项目的评论往往蕴含更丰富的信息,这也是本文尝试将评论信息引入模型的主要原因。在自然语言处理相关的研究中,使用注意力机制和神经网络提取不同重要程度的信息往往拥有不错的效果,本文对评论文本的特征提取将同样采用这种方式来完成。不同的是在对文本特征进行提取时,HVAE模型除了注意到词语间信息重要程度的不同,还利用Bi-LSTM模型捕捉双向的语义依赖,尝试建模用户评论的上下文特征,最终为模型预测输入高质量的特征信息。本文实验均在英文数据集上完成,在前期对文本进行去停用词、词干提取和词形还原等预处理的基础上,文本特征提取模块主要包括词嵌入和早期特征融合2部分。

2.1.1 词嵌入

假设给定用户u的评论列表为{S1, S2, …, Sn},n表示用户u的评论数,每条评论包含若干词语,即Sn={t1, t2, …, t|S|},其中|S|表示单词数。为更好地涵盖语境内的语义和语法信息,本文模型将采用Glove预训练模型进行模型第1次词嵌入,输出的词向量输入至Bi-LSTM中获取评论上下文信息,得到上下文特征$ {\hat t_1}, {\hat t_2}, \cdots , {\hat t_{|S|}}$。随后引入注意力机制,为特征信息赋予相应的权重:

$ h_{k}=\boldsymbol{W}_{2} \tanh \left(\boldsymbol{W}_{1} \hat{t}_{k}+b_{1}\right)+b_{2}, $ (1)
$ g_{k}=\frac{\exp \left(h_{k}\right)}{\sum\limits_{k^{\prime}=1}^{|S|} \exp \left(h_{k^{\prime}}\right)}, $ (2)
$ a=\sum\limits_{k=1}^{\mid S \mid} g_{k} \cdot \hat{t}_{k} . $ (3)

其中:W1W2为权重矩阵,b1b2为偏置项,gk为特征$ {{\hat t}_k}$对应的注意力权重,a为评论Sn中各特征和注意力权重的加权和。由式(3)得到用户u评论的注意力向量[a1, a2, …, an]。进一步获取评论上下文特征,将特征矩阵输入Bi-LSTM得到上下文特征向量$ \left[ {{{\hat a}_1}, {{\hat a}_2}, \cdots , {{\hat a}_n}} \right]$

2.1.2 早期特征融合

由于评论文本和评分数据是2种不同的数据,对它们进行特征提取的过程往往是独立的,但实际上在早期进行特征融合有利于在复杂的评论数据中获取更为纯净的特征向量[24]。可以直观地解释为:通过与评分潜在特征Zu相结合可以使评论特征中重要的特征更加突出,在预测时做出更多贡献。早期特征融合的过程可以表示为:

$ h_{n}^{\prime}=\boldsymbol{W}_{4} \tanh \left(\boldsymbol{W}_{3}\left[\hat{a}_{n} ; Z_{u}\right]+b_{3}\right)+b_{4}, $ (4)
$ g_{n}^{\prime}=\frac{\exp \left(h_{n}^{\prime}\right)}{\sum\limits_{n^{\prime}=1}^{|S|} \exp \left(h_{n^{\prime}}^{\prime}\right)}, $ (5)
$ S_{u}=\sum\limits_{n=1}^{|S|} g_{n}^{\prime} \cdot \hat{a}_{n}. $ (6)

其中:Zu为用户u评分数据经过评分编码器学习采样得到的潜在特征,$[ {{{\hat a}_n};{Z_u}}]$表示将上下文特征信息$ {{{\hat a}_n}}$Zu横向拼接,W3W4为权重矩阵,b3b4为偏置项,gn$[ {{{\hat a}_n};{Z_u}}]$对应的注意力权重,Su为用户u评论文本的特征表示。

2.2 变分自编码器编码

传统变分自编码器中,编码器将用户u评分数据Ru∈{0, 1}|n|(|n|表示向量维数)编码得到Zu,解码器由Zu预测生成评分数据$ {{\hat R}_u} \in {\left\{ {0, 1} \right\}^{\left| n \right|}}$。与变分自编码器常规做法不同,由于用户评分行为一般是在多复杂条件下完成的,本文使用多项式分布作为边际似然函数。假设Zu服从标准Gauss分布,$ {{\hat R}_u}$服从多项式分布。基于传统变分自编码器的公式如下所示:

$ Z_{u} \sim f_{\varphi}\left(R_{u}\right) \sim N(0, I), $ (7)
$ \pi\left(Z_{u}\right)=\operatorname{softmax}\left(f_{\theta}\left(Z_{u}\right)\right), $ (8)
$ \hat{R}_{u} \sim f_{\theta}\left(n_{u}, \pi\left(Z_{u}\right)\right) \sim \operatorname{Mult}\left(n_{u}, \pi\left(Z_{u}\right)\right) . $ (9)

其中:(·)和(·)分别对应由φθ′参数化的推断网络和生成网络,θ′={(Wi, bi)|i=1, 2, 3, 4},φ={μ, σ},μσ分别是变分自编码器学习到的潜在特征分布的均值和标准差,nu表示用户与项目交互(如评分、评论、点击等)类型数,Mult(·, ·)表示多项式分布函数。

HVAE模型评分编码器采用传统变分自编码器的编码器,编码过程如式(7)所示,使用了文[39]中密集连接层的思想,层间复用特征的性质有利于编码器生成丰富的特征信息,体系结构如图 2所示,相应参数化的分布函数为qφ(Zu|Ru)~N(0, I)。解码过程如式(19)所示。

图 2 推断网络结构

2.3 特征融合及变分自编码器解码

评论文本和评分数据在协同预测评分时做出的贡献大小也不相同。因此,假设用户u的深度特征Vu同时包含了评论文本的潜在特征Su和评分数据的潜在特征Zu,在进行特征融合前需对SuZu进行如下处理:

$ \alpha_{S}= \boldsymbol{W}_{5} \tanh \left(\boldsymbol{W}_{6} S_{u}+b_{6}\right)+b_{5}, $ (10)
$ \alpha_{Z}= \boldsymbol{W}_{5} \tanh \left(\boldsymbol{W}_{7} Z_{u}+b_{7}\right)+b_{5}, $ (11)
$ \widetilde{\alpha}_{Z}=\operatorname{softmax}\left(\alpha_{Z}\right), $ (12)
$ \widetilde{\alpha}_{S}=\operatorname{softmax}\left(\alpha_{S}\right) . $ (13)

式(12)和(13)通过softmax函数求得SuZu的权重$ {{\tilde \alpha }_Z}$$ {{\tilde \alpha }_S}$。HVAE模型后期特征融合的方式为:

$ V_{S}=\boldsymbol{W}_{8} \tanh \left(\boldsymbol{W}_{6} S_{u}+b_{6}\right)+b_{8}, $ (14)
$ V_{Z}=\boldsymbol{W}_{8} \tanh \left(\boldsymbol{W}_{7} Z_{u}+b_{7}\right)+b_{8}, $ (15)
$ V_{u}=\widetilde{\alpha}_{Z} V_{S}+\widetilde{\alpha}_{Z} V_{Z} . $ (16)

随后将用户的深度特征Vu作为解码器的输入,评分预测的过程为:

$ f_{\theta}\left(V_{u}\right)=\boldsymbol{W}_{9} V_{u}+b_{9}, $ (17)
$ \pi\left(V_{u}\right)=\operatorname{softmax}\left(f_{\theta}\left(V_{u}\right)\right), $ (18)
$ p_{\theta}\left(\hat{R}_{u} \mid V_{u}\right)=\operatorname{Mult}\left(R_{u} \mid n_{u}, \pi\left(V_{u}\right)\right) . $ (19)

式(18)和(19)中,解码器是具有softmax激活函数的简单线性层,令θ={(Wi, bi)|i=1, 2, …, 9},最终输出$ {{\hat R}_u}$。本节与节2.2中传统变分自编码器的不同之处在于输入预测的变量为融合评论信息后的特征Vu,式(9)可改写为

$ \hat{R}_{u} \sim f_{\theta}\left(n_{u}, \pi\left(V_{u}\right)\right) \sim \operatorname{Mult}\left(n_{u}, \pi\left(V_{u}\right)\right). $ (20)
2.4 模型优化

假设传统变分自编码器仅提取评分数据Ru编码得到隐变量Zu,然后解码重构得到$ {{\hat R}_u}$,目标函数可以表示为

$ \begin{gathered} L_{\mathrm{VAE}}=E_{q_{\varphi}\left(Z_{u} \mid R_{u}\right)}\left[\log p_{\theta}\left(\hat{R}_{u} \mid Z_{u}\right)-\right. \\ \left.\beta \mathrm{KL}\left(q_{\varphi}\left(Z_{u} \mid R_{u}\right) \| p\left(Z_{u}\right)\right)\right] . \end{gathered} $ (21)

变分自编码器模型中变分推断为算法提供了可解释性,式(21)中的第1项可以理解为生成模型的重构损失,第2项为推断网络中近似分布qφ与真实分布p(Zu)的KL散度,β为平衡2项指标的超参数。HVAE模型实际上让融合特征Vu作为最终的深度特征输入解码器,所以改写目标函数为

$ \begin{gathered} L_{\mathrm{HVAE}}=E_{q_{\varphi}\left(Z_{u} \mid R_{u}\right)}\left[\log p_{\theta}\left(\hat{R}_{u} \mid V_{u}\right)-\right. \\ \left.\beta \mathrm{KL}\left(q_{\varphi}\left(Z_{u} \mid R_{u}\right) \| p\left(Z_{u}\right)\right)\right] . \end{gathered} $ (22)

然而,HVAE模型训练中对于多个模块的参数更新可能会影响对应其他部分的参数;并且由于模型训练的目标函数结合了2个模块的训练评价指标,超参数β需要多次设定直至找到最优的模型。对于以上2个问题,受到文[40]启发,本文将进一步对目标函数进行优化整理,引入复合先验项和平衡系数计算项:

$ \begin{gathered} \widetilde{L}_{\mathrm{HVAE}}\left(R_{u}, V_{u}, \theta, \varphi, \varphi_{\text {old }}\right)= \\ E_{q_{\varphi}\left(Z_{u} \mid R_{u}\right)}\left[\log p_{\theta}\left(\hat{R}_{u} \mid V_{u}\right)-\right. \\ \left.\beta(R) \mathrm{KL}\left(q_{\varphi}\left(Z_{u} \mid R_{u}\right) \| p\left(Z_{u} \mid \varphi_{\text {old }}, R_{u}\right)\right)\right]= \\ E_{q_{\varphi}\left(Z_{u} \mid R_{u}\right)}\left[\log p_{\theta}\left(R_{u} \mid V_{u}\right)+\beta\left(R_{u}\right) \log q_{\varphi}\left(Z_{u} \mid R_{u}\right)-\right. \\ \left.\beta\left(R_{u}\right) \log p_{\varphi_{\text {old }}}\left(Z_{u} \mid R_{u}\right)\right], \end{gathered} $ (23)
$ \begin{gathered} p\left(Z_{u} \mid \varphi_{\text {old }}, R_{u}\right)= \\ \alpha N(0, I)+(1-\alpha) q_{\varphi_{\text {old }}}\left(Z_{u} \mid R_{u}\right) . \end{gathered} $ (24)

首先引入复合先验项p(Zu|φold, Ru),0≤α≤1,φold为前一步训练中推断网络学习到的参数。与传统变分自编码假设潜在特征Zu服从标准Gauss分布不同,复合先验由2部分组成,一部分对潜在特征的分布进行约束,另一部分联系先前模型训练状态,使得HVAE模型中评分编码器加入一定噪音的同时,减少对相应已训练模型参数的影响。另外,式(23)中平衡系数的计算公式为β(Ru)=$ \gamma \sum\limits_{u \in U, i \in M} {{r_{u, i}}} $γ为超参数,UM分别为用户和项目的集合。此时观测数据不同,相应的平衡系数β也不同,对于超参数β不再局限于一定区间内递增或递减的实验设置。

3 实验结果及分析 3.1 实验数据

实验采用了亚马逊评论公共数据集Amazon 5-core中稀疏度不同的2个数据集:数字音乐(digital music, DM)和杂货及美食(grocery and gourmet food,GGF)。2个数据集均包含用户在真实场景对项目1~5分的评分数据和文本评论。数据集的信息如表 1所示。

表 1 数据集信息
数据集 用户数 项目数 样本数 稀疏度
DM 5 541 3 568 64 706 0.003 27
GGF 14 681 8 713 151 254 0.001 18

本文实验数据预处理阶段移除了缺损的数据,以3分为阈值二值化评分数据,按照8∶1∶1的比例随机将数据集分为训练集、验证集和测试集。2个数据集中评论条目与样本数一致,即用户对项目既有评分数据又有评论文本,但评论文本长度差别较大。

3.2 评测指标

HVAE模型是对于Top-k任务的推荐模型,最终输出的结果是个性化的有序推荐列表,因此本文选择召回率和归一化折损累计增益[41](normalized discounted cumulative gain,NDCG)验证算法有效性。

HVAE模型为用户u推荐的k个物品集合记为Tu,用户u在测试集中实际偏好的物品集合记为Pu,从而推荐的召回率定义为

$ \operatorname{Recall}_{k}=\frac{\sum\limits_{u}\left|T_{u} \bigcap P_{u}\right|}{\sum\limits_{u}\left|P_{u}\right|} . $ (25)

NDCG[41]指标被用来评估Top-k推荐任务中最终有序推荐列表的准确性,能够反映推荐中排序结果的准确度和整个排序列表次序的质量,DGCk表示折损累计增益,它在计算中能够使实际排名靠前的项目增益更高,对实际排名较后的项目进行折损,假设r(i)表示列表中第i个物品是否与用户相关,只有0和1两种取值,DGCk计算如下:

$ \mathrm{DGC}_{k}=\sum\limits_{i=1}^{k} \frac{2^{r(i)}-1}{\mathrm{lb}(i+1)}. $ (26)

DGCk使用可对一个推荐列表进行评价,但是每一位用户的推荐列表长度可能不一致,因此需要将DGCk归一化。假设Krel表示实际排序列表中相关性最高的项目数量,计算理想的折损累计增益$ {\rm{IDG}}{{\rm{C}}_k} = \sum\limits_{i = 1}^{{K_{{\rm{rel}}}}} {\frac{{{2^{r\left( i \right)}} - 1}}{{{\rm{lb}}\left( {i + 1} \right)}}} $,然后取DGCk与IDGCk的比值作为NDCGk最终结果,即:

$ \mathrm{NDCG}_{k}=\frac{\mathrm{DGC}_{k}}{\mathrm{IDGC}_{k}} . $ (27)
3.3 对比模型

将本文模型与以下模型进行对比:

1) ConvMF+[42]:将预训练的词嵌入模型引入卷积矩阵分解模型,从评论文本学习潜在特征。

2) GATE[43]:采用门控结构融合项目内容和评分中的潜在特征,将词间和相邻注意力模块整合至自编码器中学习文本潜在特征。

3) TAFA[24]:双头注意力融合自编码器采用早期和后期多阶段特征融合,使得模型能够从两个输入源中充分关联和提取相关信息。文本特征提取模块与本文模型相似。

4) HVAE-0:平衡系数β=1,目标函数为

$ \begin{gathered} L_{\mathrm{HVAE}-0}=E_{q_{\varphi}\left(Z_{u} \mid R_{u}\right)}\left[\log p_{\theta}\left(\hat{R}_{u} \mid V_{u}\right)-\right. \\ \left.\beta \operatorname{KL}\left(q_{\varphi}\left(Z_{u} \mid R_{u}\right) \| p\left(Z_{u}\right)\right)\right] . \end{gathered} $ (28)

5) HVAE-1:优化HVAE-0模型目标函数,添加平衡系数动态计算项β(Ru),目标函数为

$ \begin{gathered} L_{\mathrm{HVAE}-1}=E_{q_{\varphi}\left(Z_{u} \mid R_{u}\right)}\left[\log p_{\theta}\left(\hat{R}_{u} \mid V_{u}\right)-\right. \\ \left.\beta\left(R_{u}\right) \operatorname{KL}\left(q_{\varphi}\left(Z_{u} \mid R_{u}\right) \| p\left(Z_{u}\right)\right)\right] . \end{gathered} $ (29)

6) HVAE-2:优化HVAE-0模型目标函数,添加复合先验项,目标函数为

$ \begin{gathered} L_{\mathrm{HVAE}-2}=E_{q_{\varphi}\left(Z_{u} \mid R_{u}\right)}\left[\log p_{\theta}\left(\hat{R}_{u} \mid V_{u}\right)-\right. \\ \left.\operatorname{KL}\left(q_{\varphi}\left(Z_{u} \mid R_{u}\right) \| p\left(Z_{u} \mid \varphi_{\text {old }}, R_{u}\right)\right)\right] . \end{gathered} $ (30)

7) HVAE:优化HVAE-0模型目标函数,同时添加平衡系数动态计算项β(Ru)和复合先验项,目标函数如式(23)所示。

ConvFM+、GATE、TAFA均为利用异构数据和隐式反馈具有优秀表现的推荐模型。为排除分批训练中数据输入对模型结果的影响,将所有模型的批量大小设置为200。HVAE模型使用Glove预训练模型进行初步的词嵌入工作,词嵌入的维度为300,暂退(dropout)层比率设置为0.5,超参数为0.005,Adam学习器的学习率为0.000 1。

3.4 实验结果

几种模型的对比实验结果如表 23所示。在DM和GGF两个数据集上,HVAE模型各项指标均优于其他对比模型。HVAE-1和HVAE-2相比HVAE-0模型各项指标均有优化效果,可见HVAE-1中超参数依据观测数据适应性地调整有利于模型针对当前不同观测数据进行训练。HVAE-2中复合先验项对模型训练结果的提升更为明显,说明多模态模型不同模块间在训练参数上的影响确实存在,复合先验项可以通过前一步训练结果对参数更新进行有效约束,从而缓解这一问题。平衡系数项和复合先验项同时作用,将很大程度上缓解基于变分自编码器的多模态训练过程对训练结果的影响,有效提升模型性能。

表 2 DM数据集的实验结果
模型 Recall20 Recall50 NDCG100
ConMF+ 0.504 9 0.505 1 0.279 5
GATE 0.303 1 0.420 6 0.035 1
TAFA 0.271 2 0.377 4 0.175 3
HVAE-0 0.054 2 0.113 3 0.049 8
HVAE-1 0.059 9 0.121 2 0.052 2
HVAE-2 0.140 2 0.321 4 0.140 2
HVAE 0.691 3 0.792 2 0.531 2

表 3 GGF数据集的实验结果
模型 Recall20 Recall50 NDCG100
ConMF+ 0.507 3 0.507 6 0.235 8
GATE 0.156 2 0.248 3 0.019 4
TAFA 0.119 8 0.179 8 0.076 0
HVAE-0 0.072 0 0.126 2 0.055 0
HVAE-1 0.077 3 0.140 0 0.060 3
HVAE-2 0.097 3 0.177 0 0.076 2
HVAE 0.628 7 0.738 6 0.508 8

表 23可知,虽然在稀疏度较高的数据集上异构变分自编码器编码会受到一定程度上的限制,但HVAE模型在各项指标上仍然优于TAFA模型。这说明异构变分自编码器可以有效缓解多模块模型训练过程中对其他模块可能存在影响,在保留变分自编码器提取潜在特征良好性能的同时,为高维稀疏的数据引入其他特征信息。GATE模型通过神经门控结构融合学习项目内容和评分数据的潜在表示,模型利用项目间的邻间关系帮助解释用户偏好,在召回率指标上表现较好。

除此之外,ConvMF+模型在本文实验数据集上也取得了不错的实验结果,矩阵分解和变分自编码器都能够挖掘更深层用户与项目之间的联系,HVAE模型通过多模块特征融合一定程度上缓解了冷启动和数据稀疏的问题,同时变分自编码器中变分推断为提取潜在特征提供了解释,为模型优化提供了思路。

综上所述,与其他深度学习模型和优化模型相比,HVAE模型协同多模态学习能够相对充分地提取用户潜在特征,可以对高维复杂的信息进行有效表达,模型性能上有较大提升。

3.5 特征维度

特征融合是评论感知推荐模型中的关键内容,往往影响着最终进行预测的信息量大小。节2.1和2.3分别对HVAE模型两阶段的特征融合进行了详细介绍。由于特征融合往往伴随着注意力机制的应用,异构变分自编码器中对特征融合维度的调整类似模型在提取潜在特征中对瓶颈层的大小调整,本节将进一步探究特征维度对模型效果的影响。为方便实验进行,本文将注意力维度和特征融合维度d依次同时设置为10、20、50、100、150、200,实验结果如图 3所示。

图 3 特征维度对HVAE模型性能的影响

可以看到,在本实验中当d=50时模型性能取得最优值;当d<50时,模型性能下降,特征信息表达存在不足;当d>50时,随着维度的增加,模型的整体性能呈现下降的趋势。从评论和评分进行两阶段特征融合的角度来看,早期进行特征融合有利于在复杂的评论数据中获取更为纯净的特征向量,使得模型更多的关注评论信息,但同时可能会造成一定程度上的信息冗余,当融合维度较大时,预测输出则需要同时满足更多的条件。

4 结论

用户对项目的评论文本一方面能够表达出用户对项目的语义偏好,展现出用户对项目在不同维度上的语义评价;另一方面还能表现出项目在多维度上的语义内容。近年来,随着文本深度表示学习技术不断发展,把用户评论信息引入到推荐算法中,不仅能够充分利用用户的语义偏好,而且能够感知项目的语义内容,从而提高推荐算法性能。本文提出HVAE模型,通过多模块协同提取包含用户偏好的深度特征,并对评分和评论数据潜在特征进行两阶段的融合,使评论信息能够在解码器中有效表达。同时考虑到模型整体训练过程中各模块参数更新之间的影响,进一步引入复合先验和平衡系数计算项。最后对比实验结果证明了该模型优化有效,性能上有较大提升。下一步工作主要包括2方面:1) 对评论信息进行精细化处理,考虑情感分析、时序等,丰富模型推荐的多样性;2) 在更多数据集上实验分析平衡系数的超参数γ,对多特征融合可能造成的信息冗余进行进一步分析。

参考文献
[1]
ADOMAVICIUS G, TUZHILIN A. Personalization technologies: A process-oriented perspective[J]. Communications of the ACM, 2005, 48(10): 83-90. DOI:10.1145/1089107.1089109
[2]
ADOMAVICIUS G, TUZHILIN A. Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions[J]. IEEE Transactions on Knowledge and Data Engineering, 2005, 17(6): 734-749. DOI:10.1109/TKDE.2005.99
[3]
CHEN H Y, LI J. Adversarial tensor factorization for context-aware recommendation[C]//Proceedings of the 13th ACM Conference on Recommender Systems. New York, USA: Association for Computing Machinery, 2019: 363-367.
[4]
XIN X, CHEN B, HE X N, et al. CFM: Convolutional factorization machines for context-aware recommendation[C]//Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence. Macao, China: AAAI, 2019: 3926-3932.
[5]
WU L, SUN P J, FU Y J, et al. A neural influence diffusion model for social recommendation[C]//Proceedings of the 42nd International ACM SIGIR Conference on Research and Development in Information Retrieval. New York, USA: ACM, 2019: 235-244.
[6]
FAN W Q, MA Y, LI Q, HE Y, ZHAO E. Graph neural networks for social recommendation[C]//Proceedings of the World Wide Web Conference. New York, USA: Association for Computing Machinery, 2019: 417-426.
[7]
王立才, 孟祥武, 张玉洁. 上下文感知推荐系统[J]. 软件学报, 2012, 23(1): 1-20.
WANG L C, MENG X W, ZHANG Y J. Context-aware recommender systems[J]. Journal of Software, 2012, 23(1): 1-20. (in Chinese)
[8]
KULKARNI S, RODD S F. Context aware recommendation systems: A review of the state of the art techniques[J]. Computer Science Review, 2020, 37: 100255. DOI:10.1016/j.cosrev.2020.100255
[9]
孟祥武, 刘树栋, 张玉洁, 等. 社会化推荐系统研究[J]. 软件学报, 2015, 26(6): 1356-1372.
MENG X W, LIU S D, ZHANG Y J, et al. Research on social recommender systems[J]. Journal of Software, 2015, 26(6): 1356-1372. (in Chinese)
[10]
RENDLE S. Factorization machines[C]//Proceedings of the 10th IEEE International Conference on Data Mining. New York, USA: IEEE Press, 2010: 995-1000.
[11]
SHEN R P, ZHANG H P, YU H, et al. Sentiment based matrix factorization with reliability for recommendation[J]. Expert Systems with Applications, 2019, 135: 249-258. DOI:10.1016/j.eswa.2019.06.001
[12]
LIAN D F, ZHAO C, XIE X, et al. GeoMF: Joint geographical modeling and matrix factorization for point-of-interest recommendation[C]//Proceedings of the 20th ACM SIGKDD Interna-tional Conference on Knowledge Discovery and Data Mining. New York, USA: Association for Computing Machinery, 2014: 831-840.
[13]
GUO H F, TANG R M, YE Y M, et al. DeepFM: A factorization-machine based neural network for CTR prediction[C]//Proceedings of the 26th International Joint Conference on Artificial Intelligence (IJCAI). California, USA: IJCAI. org, 2017: 1725-1730.
[14]
HE X N, LIAO L Z, ZHANG H W, et al. Neural collaborative filtering[C]//Proceedings of the 26th International Conference on World Wide. Republic and Canton of Geneva, Switzerland: International World Wide Web Conferences Steering Committee, 2017: 173-182.
[15]
袁非牛, 章琳, 史劲亭, 等. 自编码神经网络理论及应用综述[J]. 计算机学报, 2019, 42(1): 203-230.
YUAN F N, ZHANG L, SHI J T, et al. Theories and applications of auto-encoder neural networks: A literature survey[J]. Chinese Journal of Computers, 2019, 42(1): 203-230. (in Chinese)
[16]
LI H, WANG Y L, LYU Z Y, et al. Multi-task learning for recommendation over heterogeneous information network[J/OL] IEEE Transactions on Knowledge and Data Engineering, (2020-3-31). https://ieeexplore.ieee.org/document/9051843.
[17]
ZHANG G J, LIU Y, JIN X N. A survey of auto-encoder-based recommender systems[J]. Frontiers of Computer Science, 2020, 14(2): 430-450. DOI:10.1007/s11704-018-8052-6
[18]
WANG H, SHI X J, YEUNG D Y. Collaborative recurrent auto-encoder: recommend while learning to fill in the blanks[C]//Proceedings of the 30th International Conference on Neural Information Processing Systems. Red Hook, NY, USA: Curran Associates Inc., 2016: 415-423.
[19]
LI X P, SHE J. Collaborative variational auto-encoder for recommender systems[C]//Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York, USA: Association for Computing Machinery, 2017: 305-314.
[20]
ZHUANG F Z, ZHANG Z Q, QIAN M, et al. Representation learning via dual-autoencoder for recommendation[J]. Neural Networks, 2017, 90: 83-89. DOI:10.1016/j.neunet.2017.03.009
[21]
ZHU Z, WANG J, CAVERLEE J. Improving top-k recommendation via joint collaborative auto-encoders[C]//Proceedings of The World Wide Web Conference. New York, USA: Association for Computing Machinery, 2019: 3483-3492.
[22]
LACIC E, REITER-HAAS M, KOWALD D, et al. Using auto-encoders for session-based job recommendations[J]. User Modeling and User-Adapted Interaction, 2020, 30(4): 617-658. DOI:10.1007/s11257-020-09269-1
[23]
JHAMB Y, EBESU T, FANG Y. Attentive contextual denoising auto-encoder for recommendation[C]//Proceedings of the 2018 ACM SIGIR International Conference on Theory of Information Retrieval. New York, USA: ACM, 2018: 27-34.
[24]
ZHOU J P, CHENG Z Y, PEREZ F, et al. TAFA: Two-headed attention fused auto-encoder for context-aware recommendations[C]//Proceedings of Fourteenth ACM Conference on Recommender Systems. New York, USA: Association for Computing Machinery, 2020: 338-347.
[25]
DENG S G, HUANG L T, XU G D, et al. On deep learning for trust-aware recommendations in social networks[J]. IEEE Transactions on Neural Networks and Learning Systems, 2017, 28(5): 1164-1177. DOI:10.1109/TNNLS.2016.2514368
[26]
WANG M Q, WU Z Y, SUN X X, et al. Trust-aware collaborative filtering with a denoising auto-encoder[J]. Neural Processing Letters, 2019, 49(2): 835-849. DOI:10.1007/s11063-018-9831-7
[27]
BELLINI V, SCHIAVONE A, DI NOIA T, et al. Knowledge-aware auto-encoders for explainable recommender systems[C]//Proceedings of the 3rd Workshop on Deep Learning for Recommender Systems. New York, USA: Association for Computing Machinery, 2018: 24-31.
[28]
CHEN Y F, DE RIJKE M. A collective variational auto-encoder for top-n recommendation with side information[C]//Proceedings of the 3rd Workshop on Deep Learning for Recommender Systems. New York, USA: Association for Computing Machinery, 2018: 3-9.
[29]
GALKE L, MAI F, VAGLIANO I, et al. Multi-modal adversarial auto-encoders for recommendations of citations and subject labels[C]//Proceedings of the 26th Conference on User Modeling, Adaptation and Personalization. New York, USA: Association for Computing Machinery, 2018: 197-205.
[30]
YANG C, YU X H, LIU Y, et al. Collaborative filtering with weighted opinion aspects[J]. Neurocomputing, 2016, 210: 185-196. DOI:10.1016/j.neucom.2015.12.136
[31]
WANG Y H, LIU Y, YU X H. Collaborative filtering with aspect-based opinion mining: A tensor factorization approach[C]//Proceedings of the 2012 IEEE 12th International Conference on Data Mining. Brussels, Belgium: IEEE Press, 2012: 1152-1157.
[32]
NIE Y P, LIU Y, YU X H. Weighted aspect-based collaborative filtering[C]//Proceedings of the 37th International ACM SIGIR Conference on Research & Development in Information Retrieval (SIGIR). New York, USA: ACM, 2014: 1071-1074.
[33]
CHENG Z Y, DING Y, ZHU L, KANKANHALLI M. Aspect-aware latent factor model: Rating prediction with ratings and reviews[C]//Proceedings of the 2018 World Wide Web Conference. New York, USA: Association for Computing Machinery, 2018: 639-648.
[34]
WANG W, WANG H W. Opinion-enhanced collaborative filtering for recommender systems through sentiment analysis[J]. New Review of Hypermedia and Multimedia, 2015, 21(3-4): 278-300. DOI:10.1080/13614568.2015.1074726
[35]
ALMAHAIRI A, KASTNER K, CHO K, et al. Learning distributed representations from reviews for collaborative filtering[C]//Proceedings of the 9th ACM Conference on Recommender Systems. New York, USA: Association for Computing Machinery, 2015: 147-154.
[36]
HYUN D, PARK C, YANG M C. Review sentiment-guided scalable deep recommender system[C]//Proceedings of the 41st International ACM SIGIR Conference on Research & Development in Information Retrieval. New York, USA: ACM, 2018: 965-968.
[37]
TAY Y, LUU A T, HUI S C. Multi-pointer co-attention networks for recommendation[C]//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. New York, USA: Association for Computing Machinery, 2018: 2309-2318.
[38]
GUAN X Y, CHENG Z Y, HE X N, et al. Attentive aspect modeling for review-aware recommendation[J]. ACM Transactions on Information Systems, 2019, 37(3): 1-27.
[39]
HUANG G, LIU Z, VAN DER MAATEN L, et al. Densely connected convolutional networks[C]//Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. New York, USA: IEEE Press, 2017: 4700-4708.
[40]
SHENBIN I, ALEKSEEV A, TUTUBALINA E, et al. RecVAE: A new variational autoencoder for top-n recommendations with implicit feedback[C]//Proceedings of the 13th International Conference on Web Search and Data Mining. New York, USA: Association for Computing Machinery, 2020: 528-536.
[41]
JÄRVELIN K, KEKÄLÄINEN J. Cumulated gain-based evaluation of IR techniques[J]. ACM Transactions on Information Systems, 2002, 20(4): 422-446. DOI:10.1145/582415.582418
[42]
KIM D, PARK C, OH J, et al. Convolutional matrix factorization for document context-aware recommendation[C]//Proceedings of the 10th ACM Conference on Recommender Systems. New York, USA: Association for Computing Machinery, 2016: 233-240.
[43]
MA C, KANG P, WU B, et al. Gated attentive-autoencoder for content-aware recommendation[C]//Proceedings of the Twelfth ACM International Conference on Web Search and Data Mining. New York, USA: Association for Computing Machinery, 2019: 519-527.