1. 引言
随着互联网和大数据技术的迅猛发展,信息过载成为一个日益突出的问题 [1] 。推荐系统作为解决这一问题的关键技术,通过分析用户历史行为来提供个性化推荐,以辅助用户做出决策,已经在电子商务 [2] [3] 、智慧城市 [4] 、医疗 [5] 等多个领域取得成功应用。尤其在电子商务领域,推荐系统通过分析用户的偏好,实现精准信息过滤,为用户呈现个性化推荐内容。然而,为了提升用户对推荐系统的满意度,如何准确预测用户对物品评分成为亟需解决的问题。
传统的推荐系统主要利用用户或物品的评分信息来进行推荐 [6] [7] ,但实际场景中这些评分数据通常较为稀疏。为了解决数据稀疏性带来的性能问题,研究者们开始关注利用评论文本信息。电子商务的快速发展不仅带来了大量物品信息,还产生了丰富的评论文本信息。这些评论文本所包含的详实信息能够揭示物品特性以及用户个人偏好,在强化推荐系统的个性化方面发挥着关键作用。因此,许多学者开始探索如何借助用户评论这一辅助信息来学习用户和物品的表示,从而弥补数据稀疏性的问题。
在早期研究中,主题建模方法得到了广泛应用 [8] [9] 。相较于传统利用评分信息的模型,主题建模方法表现出更优的性能。然而,这些方法仅关注了评论的主题线索,使用词袋表示方式,忽略了评论的上下文信息,从而存在信息损失的问题,制约了预测准确度的提升。随着深度学习在各领域的崛起,最近的研究更倾向于采用神经网络来从评论中提取特征以进行推荐。一些模型如DeepCoNN [10] 、D-Attn [11] 、和CARL [12] 等将用户和物品的多条评论连接为一个文档,利用卷积神经网络对文本进行特征提取,得到用户或物品的整体兴趣或特性。然而,这些方法在聚合所有评论时未区分不同评论的重要程度,可能会影响有效特征的提取。另一些模型如NARRE [13] 、MPCN [14] 、DARMH [15] 、ARPCNN [16] 则专注于基于评论的建模,单独对每条评论建模,并利用注意力机制区分不同评论的重要性。随后,将评论特征汇总为用户和物品的综合特征,能够捕获用户对某一特定物品的偏好信息,从而实现了比文档级建模更高的预测准确度。
基于评论的建模关键在于对评论文本中不同粒度信息的捕获,不同用户所撰写的评论侧重点不同,其中,评论中不同的粒度文本包含了重要的语义特征。如图1所展示的不同粒度的评论文本(单词、短语、句子)可以揭示用户对不同物品的偏好,例如单词:outstanding, superb等,短语:newfound love, great writer, star of this show, amazing actor等,句子:Just an outstanding job with the writing and the acting is superb all around等。
具体来说,我们采用两个并行的CNN (表示为User-Net和Item-Net)分别处理用户评论(用户撰写的评论)和物品评论及描述(为物品撰写的评论和描述),以提取语义信息。然后,我们在上述两个网络中提出了个性化单词级注意机制、个性化短语级注意级机制和个性化句子级注意机制,从多粒度的角度突出评论中的相关信息,提取用户和物品的特征,并采用因子分解机模型融合提取到的用户特征与物品特征,完成评分预测。
本文的贡献如下:
(1) 本文采用更稀疏的Amazon数据集,以及将物品描述文档与评论一起引入模型中,从而更贴切现实场景,并且在新物品缺失评论时,物品描述文档可以很好的缓解物品冷启动问题,帮助我们更好地提取物品特征,提高预测准确度。
(2) 我们提出了个性化多粒度(单词、短语、句子)注意力机制,可以通过分配高注意力权重来强化关键词、关键短语和信息性句子。并对本文提出的个性化注意力机制进行了可视化分析,以提高该模型的可解释性。
(3) 本文在四个Amazon子数据集上进行实验,结果显示,本文推荐算法的均方误差均优于同类算法。
2. 相关工作
作为深度学习的代表算法,CNN一直是计算机视觉和自然语言处理领域的研究热点 [17] 。特别是在推荐系统中,CNN与各种机制的结合使用,已经显著提高了模型的性能。ConvMF [18] 模型通过融合CNN和概率矩阵分解(PMF)来有效提取项目描述文档中的上下文信息。进一步,郑 [10] 等人通过并行结构的双CNN模型,分别从用户和项目评论中提取潜在特征,构建了DeepCoNN模型,该模型能够联合学习用户和项目的特征表示,从而提高评分预测的准确性。因此,本文提出的模型使用两个CNN作为基本结构,共同学习从用户评论和项目评论中提取的潜在特征。
近年来,注意力机制在推荐系统中的应用已经成为一个重要的发展趋势 [19] [20] 。这种机制能够快速识别输入中最具信息量的内容,从而提高推荐性能。Seo [11] 等人首次在基于评论文本的推荐系统中引入注意力机制。这种机制通过计算不同单词在句子中的权重,有助于突出重要单词,忽视不重要的单词,从而更精确地从评论文本中提取用户和物品的特征。接着,NARRE模型 [13] 通过在CNN文本处理器中加入基于评论的注意力层,使得对关键评论信息的加权更加突出,增强了推荐的可解释性。NRPA模型 [21] 使用个性化的单词级注意力为每个用户和物品选择评论中更重要的单词,在用户和物品编码器中,应用个性化的评论级别注意力,通过根据其权重聚合所有评论表示来学习用户和物品表示。ARPCNN [16] 提出了个性化的单词级注意机制和个性化的评论级注意机制,通过分配高的注意力权重来强化关键性单词和信息性评论。在本文中,我们使用多粒度注意力机制来更精细地处理单词、短语和评论文档的权重分配。旨在更全面地提取重要的语义信息,从而进一步优化推荐系统的性能和解释能力。
3. 模型设计
3.1. 模型框架
我们的模型由两个并行的CNN组成,分别称为User-Net和Item-Net。User-Net负责从用户评论中提取用户偏好,通过卷积神经网络(CNN)对用户评论进行特征提取,使用多粒度注意力机制来区分不同评论的重要性,接着将提取的特征和注意力权重聚合成用户表示。Item-Net与User-Net类似,区别在于在数据输入时增加物品描述,与物品评论一起输入模型的嵌入层,来提取物品特征,同样使用多粒度注意力机制,并将提取的特征和注意力权重聚合成物品表示。最后,将用户表示和物品表示进行融合以及交互,以完成评分预测。模型的总体结构如图2所示。
3.2. 用户网络模块
· 词嵌入:用户网络将用户撰写的评论作为输入。将评论文本中的每个单词通过word2vec [22] 映射成一个维度为d的词向量,给定评论文本
表示用户u的所写评论的集合,其中
表示用户u的第i个评论,
表示在此评论中第q个单词,T表示一条评论的固定长度,如果评论长度小于T,将用零填充处理,若大于T,则截取处理。用户u对物品的评论的单词矩阵可以表示为:
其中
,
。
· 个性化词级注意力层:在本文中,单词的语义表示被定义为单词本身及其上下文。我们使用Q表示中心词的文本范围,其窗口宽度可以计算为
。零填充用于处理评论中缺少上下文的第一个和最后一个单词。中心词
的语义表示可以表示为:
的特征
可以计算为:

Figure 2. The neural network architecture of MGAR
图2. MGAR的神经网络框架
其中
表示评论文本中第q个单词的语义特征,
和
分别表示加权矩阵和滑动窗口的偏置项,操作
表示两个矩阵相乘后对应元素的和。
由于ID信息是每个用户和物品的唯一标识,我们将ID的低维特征向量视为个性化因素,并将其体现在个性化注意力机制中,如图2所示。给定用户u的嵌入ID,多层感知器(MLP)可用于生成用户u的个性化单词级注意力向量。
其中
是MLP的权重矩阵,
是偏置向量,
表示用户u的嵌入ID。
为了强调关键词,每个词对应的个性化注意力值可以计算如下:
其中
是用户u个性化词级注意力向量,
是词级注意力和谐矩阵,
和
分别表示评论文本中单词的语义特征和注意力值。
在将每个单词的注意力值
乘以其嵌入向量
后,获得新的加权嵌入矩阵
,如下所示:
其中
,
。
· 个性化短语级注意力层:在本文中,短语的长度我们定义为3个单词,短语的语义表示被定义为三个单词本身及其上下文。我们使用P表示中心短语的文本范围,其窗口宽度可以计算为
。零填充用于处理评论中缺少上下文的第一个和最后一个单词。中心短语
的语义表示可以表示为:
的特征
可以计算为:
其中
表示评论文本中第p个短语的语义特征,
和
分别表示加权矩阵和滑动窗口的偏置项,操作
表示两个矩阵相乘后对应元素的和。类似于个性化词级注意力层,本文使用MLP以产生个性化短语级别注意力向量。
其中
是MLP的权重矩阵,
是偏置向量,
表示用户u的嵌入ID。
为了强调关键短语,每个短语对应的个性化注意力值可以计算如下:
其中
是用户u个性化词级注意力向量,
是词级注意力和谐矩阵,
和
分别表示评论文本中短语的语义特征和注意力值。
在将每个短语的注意力值
乘以其嵌入向量
后,获得新的加权嵌入矩阵
,如下所示:
其中
,
。
· CNN层:词级注意力和短语级注意力的输出
、
被传递至卷积层,用于提取评论中每个单词和短语的上下文特征。本文在网络中使用了k个滤波器且长度为t的滑动窗口滤波器
应用于矩阵
和
上,通过第j个滤波器提取
和
的特征可以表示为:
其中
表示卷积操作,
和
表示偏差项。
与普通的卷积神经网络结构一致,在滤波器
提取特征
、
之后,本模型使用最大池化操作来保留每个滤波器所产生的最有价值的上下文语义特征。
最大池化操作后,所有保留下来的语义特征被串联成最大池化层的输出:
· 个性化评论级注意力层:类似于个性化词级注意力层和个性化短语级注意力层,本文使用MLP以产生个性化评论级注意力向量。
其中
是MLP的权重矩阵,
是偏置向量。
用户u的第l条评论的个性化评论级注意力权重
可以表示为:
其中
是个性化评论级注意力向量,
是评论级注意力和谐矩阵。
通过将个性化注意力权重乘以其评论特征
,整合该用户的所有评论特征,可获得用户的总体评论特征如下:
· 全连阶层:最后,最大池化层的输出
被传递至全连接层,以获取用户u的潜在表示:
式中,
可以被认为是从用户评论中提取的关于用户u的潜在特征表示,
和
分别代表全连阶层的权重矩阵和偏置向量。至此,已经获得用户表示
和物品表示
。
· 评分预测与模型学习:
其中W表示权重矩阵,
表示用户和项目之间的特征交互,
表示全局平均评分,
和
分别表示用户偏差项和项目偏差项。
考虑到从评论中获得的特征表示和从评分数据中提取的潜在特征等级,可以对用户和项目之间的特征交互进行评估:
本模型的损失函数定义为:
4. 实验结果分析
4.1. 数据集和评价指标
Amazon数据集是电子商务领域最常用的推荐系统数据集之一,包含了超过6亿个用户、超过2.5亿个物品、超过10亿条评论。大多数论文采用Amazon亚马逊的5-core数据集,该数据集包含了所有至少有5条评论的用户和项目。然而,5-core数据集无法反映现实场景中更为稀疏的数据分布。因此,本文采用了Amazon的raw review data数据集,并通过数据库技术将其与元数据(包含item ID和物品描述等信息)进行合并,形成了新数据集。
本文从中选取了Musical Instruments、Digital Music、Video Games和All Beauty作为模型的实验数据。表1总结了这四个基本数据集的详细统计数据。为了评估,随机选取每个数据集的80%用于训练模型,10%作为测试集,剩余的10%用于验证集以调整超参数。

Table 1. Statistical details of the datasets
表1. 数据集的详细统计
均方误差(Mean Squared Error, MSE)是回归模型评价指标之一,用于衡量模型预测值与真实值之间的差异程度。MSE的计算公式如下:
其中,
表示真实值,
表示预测值,N表示样本数量。
4.2. 对比模型和参数设置
为了验证模型的有效性,本文选择了一个早期的仅利用评分矩阵的模型(PMF)、和五个利用深度学习方法来处理评论文本的先进模型(ConvMF、DeepCoNN、D_ATTN、MPCN和NARRE)作为对比模型。
PMF (Probabilistic Matrix Factorization)是推荐系统中常用的一种矩阵分解方法。PMF假设用户和物品之间的评分可以由用户和物品的潜在特征表示,并通过矩阵分解的方法学习用户和物品的潜在特征。
ConvMF (Convolutional Matrix Factorization)是PMF的一种扩展,它采用卷积神经网络来学习用户和物品的潜在特征。ConvMF能够有效捕捉用户和物品之间的局部关系,从而提高模型的性能。
DeepCoNN (Deep Collaborative Filtering)采用多层卷积神经网络来学习用户和物品的潜在特征。DeepCoNN能够有效捕捉用户和物品之间的复杂关系,从而提高模型的性能。
D_ATTN (Deep Attention-Based Recommendation)采用注意力机制来学习用户和物品之间的相关性。D_ATTN能够有效捕捉用户和物品之间的长距离关系,从而提高模型的性能。
MPCN (Multi-Perspective Collaborative Filtering)采用多视角来学习用户和物品的潜在特征。MPCN能够有效捕捉用户和物品之间的多种关系,从而提高模型的性能。
NARRE (Neural Attention-Based Recommendation Evolution)是一种基于注意力机制的推荐模型,它能够捕捉用户和物品之间的动态关系。NARRE能够有效提高推荐模型的长期性能。
除了上述描述之外,表2展示了各模型和MGAR的特征。

Table 2. Comparison of features of different models
表2. 不同模型的特征对比
本文采用网格搜索方法来确定每个模型参数的最优值。对于PMF,我们在{4, 8, 16, 32, 64, 128}中优化潜在因子的数量,并从{0.001, 0.01, 0.1, 1.0}中选择最优的正则化参数值。对于ConvMF、DeepCoNN、D-ATTN、MPCN、NARRE、和MGAR,分别在{0.005, 0.01, 0.02, 0.05}和{4, 8, 16, 32, 64, 128, 256}中搜索合适的学习率和潜在因子数量。我们在{0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0}中微调dropout的值,并在{25, 50, 100, 150}中选择批处理大小。本文中使用的词嵌入模型是一个预训练模型,已经使用来自谷歌新闻语料库中超过1000亿词进行了训练。对于应用了注意力机制的D_ATTN、MPCN、NARRE和MGAR,我们从{4, 8, 16, 32, 64, 128, 256}中调整注意力大小。在MGAR中,我们从{4, 8, 16, 32, 64, 128, 256}中搜索用于个性化注意力机制中的ID嵌入的适当维度。
4.3. 实验结果分析
MGAR与六个比对模型在四个数据集上的性能比较在表3中列出。如表III所示,PMF有最大的均方误差,特别是当数据集非常稀疏时。相比之下,其他六个模型在四个数据集上的表现都优于PMF,这
验证了具有强大处理能力的深度学习可以从文本评论中提取更多有用的语义信息。与ConvMF相比,DeepCoNN有显著的性能提升,有效验证了并行结构的联合建模能力。通过对文本评论的潜在特征进行建模,NARRE、D_ATTN和MPCN在四个数据集上都取得了良好的表现。这证明了这三种模型的注意力机制对于用户偏好和项目属性建模的贡献。然而,这三种方法在高稀疏性数据集上的性能提升低于其他数据集,这表明尽管现有的基于神经网络的模型在许多领域表现良好,但当评论信息不完整或对评论的有效处理不足时,它们的预测性能仍然相对较差。
根据表3中的实验结果,MGAR在四个数据集上均达到了最佳性能,这验证了个性化注意力机制的应用和物品描述特征提取的有效性。与NARRE相比,MGAR在词级、短语级和句子级注意力机制中都加入了个性化特征,并充分利用了物品描述中包含的丰富语义信息。
4.4. 消融实验
为了说明模型各部分对性能提升的不同影响,我们提出了MGAR的四种变体。它们的简要介绍如下。请注意,“非个性化”意味着我们修改了注意力权重的计算,以去除与个性化相关的信息。
MGAR1结构为两个并行的CNN和扩展的潜在因子模型,既不采用个性化的多粒度(单词级、短语级和句子级)注意力机制,也不添加物品描述文档。
MGAR2在MGAR1的基础上增加非个性化多粒度注意力机制。
MGAR3在MGAR2的基础上增加物品描述文档。
MGAR4在MGAR2的基础上将非个性化的多粒度注意力机制改进为个性化多粒度注意力机制。
MGAR及其三种变体在四个数据集上的性能比较显示在表4中。如表4所示,每个变体在四个数据集上的均方误差都显示出明显的下降趋势,这意味着评分预测性能逐渐变好。具体来说,与MGAR1相比,MGAR2的性能有了显著提升,表明仅依靠评论中包含的语义信息和CNN的数据处理能力是不够的,而应用注意力机制可以强化信息丰富的评论,深度挖掘评论各粒度的信息,从而提高性能。与MGAR2相比,MGAR3增加了物品描述文档,改善物品冷启动问题,评分预测性能得到了进一步提升。比较MGAR2和MGAR4可以发现,MGAR4不仅可以强化信息丰富的评论,还可以突出关键词,同时也表明个性化的ID特征在分配注意力权重的过程中确实发挥了有效作用。通过性能比较,我们进一步验证了并行CNN、个性化多粒度注意力机制和添加物品描述信息协同作用,对提升推荐性能的有效性。
4.5. 可解释性分析
接下来,我们对本文提出的个性化多粒度注意力机制进行可视化分析,以提高模型的可解释性。表5展示了MGAR在Digital Music数据集上两位用户评论的注意力权重。个性化单词级和短语级注意力机制根据每个词或短语在评论中对物品属性建模的重要性,给关键词和短语分配高注意力权重。我们通过设置不同的颜色来区分不同的注意力权重。颜色越深,权重越高。注意,为了显示方便,我们没有标记注意力权重低的词和短语。如表5所示,与物品相关的关键词和短语在应用个性化单词级和短语级注意力机制的用户评论中被不同程度地突出显示。
个性化句子级注意力机制根据评论对物品属性建模的有用性,给信息丰富的评论分配高注意力权重。如表5所示,第一位用户对物品评分为五分,详细信息在评论中得到了充分解释。因此,这篇评论获得了更高的注意力权重。与第一位用户相反,由于缺乏对物品的客观描述,第二位用户的评论获得了较低的注意力权重。
5. 总结
针对评分数据和评论文本的稀疏性以及物品冷启动问题,本文提出了MGAR模型,该模型采用并行CNN作为框架,并利用User-Net和Item-Net提取用户评论、物品评论和物品描述的潜在特征。应用嵌入ID特征的个性化多粒度注意力机制,以增强每条评论中的关键词、关键短语和信息丰富的评论。然后,将用户特征和物品特征进行融合以及交互,以完成评分预测。在四个真实世界数据集上的广泛实验结果表明,MGAR的评分预测性能优于六个基线模型。此外,MGAR与四个变体的性能比较以及可解释性分析更直观地展示了模型各部分在性能提升中的重要作用。在未来,我们将在努力提高推荐结果准确性的基础上,探索多个评价指标(如多样性、新颖性),寻找新颖多样的物品列表,来提高用户的满意度。