«上一篇 下一篇»
  计算机工程  2021, Vol. 47 Issue (11): 69-76  DOI: 10.19678/j.issn.1000-3428.0059892
0

引用本文  

杨粟森, 刘勇, 张举勇. 基于评论文本图表示学习的推荐算法[J]. 计算机工程, 2021, 47(11), 69-76. DOI: 10.19678/j.issn.1000-3428.0059892.
YANG Susen, LIU Yong, ZHANG Juyong. Recommendation Algorithm Based on Graph Representation Learning of Review Texts[J]. Computer Engineering, 2021, 47(11), 69-76. DOI: 10.19678/j.issn.1000-3428.0059892.

基金项目

国家自然科学基金(61976198,61672481)

作者简介

杨粟森(1996-), 男, 硕士研究生, 主研方向为推荐系统、深度学习、图神经网络;
刘勇, 研究员、博士;
张举勇, 副教授、博士

文章历史

收稿日期:2020-11-03
修回日期:2020-12-04
基于评论文本图表示学习的推荐算法
杨粟森1 , 刘勇2 , 张举勇1     
1. 中国科学技术大学 数学科学学院, 合肥 230000;
2. 南洋理工大学及英属哥伦比亚大学百合卓越联合研究中心, 新加坡 639798
摘要:基于卷积或循环神经网络的推荐系统主要捕捉评论文本中相邻词之间的局部和连续依赖关系,对长期、全局、非连续的依赖关系的捕捉能力有限。针对该问题,提出一种基于评论文本图表示学习的推荐算法RGP。将每个用户或项目的评论文本表示成图,图的节点为评论文本的词,图的边为词与词的连接关系。针对图中的每个节点,使用基于连接关系的图注意力网络加权融合其邻点信息,利用基于交互关系的注意力机制对节点重新赋权,并加权融合图中所有节点的表征从而得到整个图的表征。在此基础上,将基于用户和项目ID的嵌入表征及其评论图表征耦合输入并采用因子分解机进行评分预测,以得到最终的推荐结果。实验结果表明,与NARRE、DAML等算法相比,RGP算法可有效提高推荐精度。
关键词推荐算法    评论文本    图神经网络    注意力机制    因子分解机    
Recommendation Algorithm Based on Graph Representation Learning of Review Texts
YANG Susen1 , LIU Yong2 , ZHANG Juyong1     
1. School of Mathematical Sciences, University of Science and Technology of China, Hefei 230000, China;
2. Joint NTU-UBC Research Centre of Excellence in Active Living for the Elderly, Singapore 639798, Singapore
Abstract: Previous recommendation systems based on Convolutional Neural Network(CNN) or Recurrent Neural Network(RNN) mainly capture the local and consecutive dependency between neighboring words in review texts. Therefore, they may not be effective in capturing the long-term, global and non-consecutive dependency.To deal with the problem, a recommendation algorithm, RGP, is proposed based on graph representation learning of review texts.For each individual user/item, the method builds a specific review graph where nodes represent the review words, and edges describe the connections between words.For each node in the graph, a connection-based graph attention network is used to weight and fuse its neighboring information.Then an interaction-based attention mechanism is proposed to reweight the nodes in the graph, and the representation of all the nodes in the graph is fused to obtain the graph representation.On this basis, the embedded representations based on user and item ID are coupled with their review graph representations for input, and scored by a factorization machine to obtain the recommendation results.Experimental results show that compared with NARRE, DAML and other algorithms, the proposed algorithm effectively improves the recommendation accuracy.
Key words: recommendation algorithm    review text    graph neural network    attention mechanism    Factorization Machine(FM)    

开放科学(资源服务)标志码(OSID):

0 概述

随着网络信息量的爆炸式增长,推荐系统在诸如电商平台、在线多媒体平台等场景中发挥着越来越重要的作用。推荐系统通过分析用户过往的购买或观看行为,推断用户的喜好并为他们推荐感兴趣的项目。传统推荐算法[1]的性能受限于用户行为的稀疏度,针对这一问题,各种辅助信息被引入到推荐系统中。评论文本作为一种重要的辅助信息,能够描述用户对项目在不同方面的兴趣爱好。

目前,基于评论文本的推荐方法主要包括基于主题建模的方法[2-4]和基于深度学习(如卷积神经网络、循环神经网络)的方法[5-7],尽管这些方法已经取得了一定的性能提升,但是仍然存在一些局限。基于主题建模的方法仅能捕捉全局水平的文本语义信息,忽略了文本中重要词序和词的上下文信息;基于深度学习的方法虽然可以有效捕捉相邻词的上下文信息,但是在捕捉词与词之间长期、全局和非连续的依赖关系时存在一定的局限性。例如,对用户在多条评论中出现的同一个词而言,无法同时考虑到这个词在不同评论中的相邻词信息(全局和非连续依赖)。除此之外,近年来出现的基于注意力机制的方法[8-10]对评论文本中每个词、句子或者评论赋予重要性权重,但是该类方法只考虑用户或者项目侧的单一静态喜好,无法捕捉交互水平的喜好特性。例如,对于用户的“运行速度快”这一评论,在预测用户对平板电脑的评分时的重要性程度高于预测同一用户对鼠标的评分时的重要性程度。

针对上述问题,本文提出基于评论文本图表示学习的推荐算法RGP。将每个用户或项目的所有评论集构建成一个评论图,图中的节点为评论中的词,边为词与词之间的共现和词序关系。通过图的拓扑结构来捕捉评论文本中词与词之间长期、全局和非连续的依赖关系。使用基于连接关系的图注意力网络聚合每个节点的邻接点信息,同时考虑词序关系。在此基础上,使用基于交互关系的注意力机制加权融合图中所有节点的表征,得到最终的图表征。将用户和项目ID的嵌入表征以及其评论图表征耦合输入并采用因子分解机(Factorization Machine,FM)[11]进行评分预测。

1 相关工作 1.1 基于评论文本和主题建模的推荐方法

基于文本主题建模的方法对评论文本应用主题建模技术学习用户和项目的潜在特征分布。文献[2]提出HFT模型,通过LDA主题模型[12]从评论文本中学习用户和项目的特征表示。文献[13]将主题模型和混合高斯模型相结合,提高推荐精度。文献[14]利用非负矩阵分解法导出评论文本的主题分布,并使用转换函数将主题分布和相应的用户或项目的潜在特征因子对齐。文献[3]提出一种将评论文本与用户喜好相结合的评分提升方法,该方法能获得更准确的主题分布。

1.2 基于评论文本和深度学习的推荐方法

深度学习的快速发展推动了其在基于评论文本的推荐模型中的应用。文献[15]使用堆叠的去噪自编码器(SDAE)学习评论文本的深度特征,并利用概率矩阵分解预测评分,SDAE使得模型拥有自适应学习特征的能力,但其未考虑文本中的词序和局部相关性。文献[5]提出DeepCoNN模型,利用卷积神经网络从评论文本中提取语义信息,使用因子分解机捕捉用户和项目表征之间的交互信息,卷积神经网络可以在提取文本特征时考虑词与词的先后顺序和相关性,但是其不具备对文本更细粒度的特征融合和可解释性。

近年来,研究人员使用注意力机制来进一步提高推荐的准确性。文献[7]通过联合矩阵分解和基于注意力机制的门控循环网络(GRU),从评论和评分中学习用户和项目的表征,在捕捉词序的同时使用注意力机制提高了模型的可解释性。文献[8]在DeepCoNN的基础上,通过注意力机制对每个评论进行评分,从而学习更丰富和更细粒度的语义信息。但是,上述2种模型在提取文本特征时都仅考虑用户或项目单一侧的文本信息,并未在交互水平上捕捉用户和项目的相关性。为此,文献[16]提出CARL模型,其综合考虑用户和项目的评论,通过注意力机制来重点关注用户和项目之间更相关的评论内容。文献[17]提出基于对偶的交互注意力机制,以捕捉用户和项目评论的相关性,但其忽略了句子层面的细粒度信息和用户的个性化喜好。为了捕捉更细粒度的语义,文献[18]应用3个注意力网络依次学习句子、评论和用户与项目的表征。为了考虑用户或项目本身的个性化喜好,文献[10]应用基于用户/项目的注意力机制从评论文本中学习用户/项目的个性化表征,但其缺乏对交互水平喜好特性的捕捉。除此之外,一些基于评论特性(aspect)的推荐方法[19-21]近年来被提出,这些方法通过应用基于特性的表示学习来自动检测评论的不同特性,联合学习特性、用户与项目的表征。

不同于上述基于深度学习的推荐方法,本文借助图表示的优良性质,将每个用户或项目包含的全部评论表示成一个图,以更好地挖掘词与词之间的依赖关系,从而进行更精确的评分预测和项目推荐。

2 基于评论文本图表示学习的推荐模型

本文使用$ {S}_{u}=\{{s}_{u}^{1}, {s}_{u}^{2}, \cdots , {s}_{u}^{{M}_{u}}\} $表示用户$ u $产生的评论集,$ {T}_{i}=\{{t}_{i}^{1}, {t}_{i}^{2}, \cdots , {t}_{i}^{{N}_{i}}\} $表示项目$ i $接受到的评论集,其中,$ {M}_{u} $$ {N}_{i} $分别表示用户$ u $和项目$ i $包含的评论总条数。将用户$ u $对项目$ i $的评分表示为$ {y}_{ui} $,所有的评分数据集表示为$ \mathcal{D} $

本文基于评论文本图表示学习的推荐算法RGP网络结构如图 1所示,其包含3个模块:用户模块(图 1的左两列);项目模块(图 1的右两列);基于FM的预测模块。用户模块和项目模块网络架构相同,分别用来学习用户和项目表征,预测模块以用户和项目表征为输入,计算用户对项目的评分。

Download:
图 1 RGP算法网络结构 Fig. 1 RGP algorithm network structure

用户(项目)模块包含3个组成部分:构建评论文本图的部分将每个用户(项目)的评论文本集构建成一个图;图表示学习部分应用基于连接关系的图注意力网络和基于交互关系的注意力机制提取整个图的表征;表征融合部分耦合用户(项目)ID的嵌入表征及其图表征得到最终用户(项目)的表征。用户模块及项目模块的网络架构相同,下文只介绍用户模块的各部分细节。

2.1 评论文本图构建

本文利用文献[22]的方法构建评论文本图,在评论文本中若2个词共同出现在大小为$ \omega $的窗口中(即2个词的距离小于$ \omega $),则连接这2个词,本文在此基础上保存词序信息。对用户$ u $的评论文本集$ {S}_{u} $,首先使用诸如句子分词、介词清理的文本预处理技术挑选$ {S}_{u} $中每条评论的关键词;然后将所有评论构建成一个有向图,图中的节点为评论文本的关键词,图中的边描述了词与词之间在一个固定大小为$ \omega $的滑动窗口内的共现关系。

评论文本的词序关系在反映文本语义时显得十分重要。例如,“不是非常好”和“非常不好”传递了不同水平的消极情绪。为在图中保留词序信息,本文定义前向关系$ {e}_{f} $、后向关系$ {e}_{b} $、自连接关系$ {e}_{s} $这3种类型的连接关系。以评论集$ {S}_{u} $中的一条评论$ {s}_{u}^{t} $为例,若挑选的关键词(即节点)$ {x}_{2} $$ {s}_{u}^{t} $中出现在关键词$ {x}_{1} $前,并且$ {x}_{2} $$ {x}_{1} $的距离在原评论中小于$ \omega $,则在图中建立从$ {x}_{2} $$ {x}_{1} $的一条边$ E({x}_{2}, {x}_{1}) $,此边的连接关系为$ {e}_{f} $。同时,建立从$ {x}_{1} $$ {x}_{2} $的一条边$ E({x}_{1}, {x}_{2}) $,此边的连接关系为$ {e}_{b} $。若$ {x}_{2} $$ {x}_{1} $前面和后面同时出现(较少见),则将边的连接关系随机设置为$ {e}_{f} $$ {e}_{b} $。此外,为考虑词本身的信息,图中的每个节点增加一条连接到自身的边(例如$ E({x}_{1}, {x}_{1}) $)并将其连接关系定义为$ {e}_{s} $图 2展示了将评论“朋友喜欢这个好看耐用的鼠标”构建成图的例子,评论中“朋友”“喜欢”“好看”“耐用”“鼠标”均被挑选成关键词,“这个”词被去除,并将窗口大小$ \omega $设置成3,关键词“好看”在评论中和3个关键词(“喜欢”“耐用”“鼠标”)的距离小于3,则建立3条双向边并根据词序定义边的类型。以此类推,构建评论文本图。

Download:
图 2 评论文本图示例 Fig. 2 Review text graph example

对用户$ u $,本文用$ {\mathcal{G}}_{u}=\{{\mathcal{X}}_{u}, {\mathcal{E}}_{u}\} $表示其对应的评论文本图,$ {\mathcal{X}}_{u} $为节点(即关键词)集,$ {\mathcal{E}}_{u} $为节点-边-节点的三元组集$ ({x}_{h}, r, {x}_{t}) $$ r $为节点$ {x}_{h} $$ {x}_{t} $的连接关系(上述3种关系之一)。通过同样的方式可以构建项目$ i $的评论文本图$ {\mathcal{G}}_{i}=\{{\mathcal{X}}_{i}, {\mathcal{E}}_{i}\} $

2.2 图表示学习 2.2.1 嵌入层

用户ID、项目ID、词ID、连接关系ID作为嵌入层的输入,分别被映射到不同的嵌入空间,得到对应的低维嵌入特征。本文分别用$ {\boldsymbol{e}}_{u},   {\boldsymbol{e}}_{i},   \boldsymbol{x} $$ {\boldsymbol{e}}_{r}\in {\mathbb{R}}^{1\times {d}_{0}} $表示用户$ u $、项目$ i $、词$ x $、连接关系$ r $的低维嵌入特征,其中,$ {d}_{0} $为嵌入空间的向量维数。

2.2.2 基于连接关系的图注意力网络

在评论文本中,词的信息并不独立,一个词的语义信息可以被其周围的词所丰富。为了聚合邻接词的信息,本文提出基于连接关系的图注意力网络。假设输入图为$ {\mathcal{G}}_{u}=\{{\mathcal{X}}_{u}, {\mathcal{E}}_{u}\} $,对于图中的节点$ {x}_{h} $,用$ {\mathcal{N}}_{h}=\left\{{x}_{t}\right|({x}_{h}, r, {x}_{t})\in {\mathcal{E}}_{u}\} $表示$ {x}_{h} $的邻接点,其中$ {\mathcal{N}}_{h} $包含$ {x}_{h} $本身。假设当前处于图注意力网络的第$ l $层,邻接点$ {x}_{t} $的重要性权重计算方式为:

$ {\alpha }^{l}({x}_{h}, r, {x}_{t})=\frac{\mathrm{e}\mathrm{x}\mathrm{p}\left[{\mathrm{\pi }}^{l}\right({x}_{h}, r, {x}_{t}\left)\right]}{\sum \limits_{{x}_{\tilde{t}}\in {\mathcal{N}}_{h}}\mathrm{e}\mathrm{x}\mathrm{p}\left[{\mathrm{\pi }}^{l}\right({x}_{h}, \tilde{r}, {x}_{\tilde{t}}\left)\right]} $ (1)
$ {\pi }^{l}({x}_{h}, r, {x}_{t})=\sigma \left[\right({\boldsymbol{x}}_{h}^{l}{\boldsymbol{W}}_{1}^{l}\left)\right({\boldsymbol{x}}_{t}^{l}{\boldsymbol{W}}_{1}^{l}+{\boldsymbol{e}}_{r}^{l}{\boldsymbol{W}}_{2}^{l}{)}^{\mathrm{T}}] $ (2)

其中:$ {\boldsymbol{W}}_{1}^{l}, {\boldsymbol{W}}_{2}^{l}\in {\mathbb{R}}^{{d}_{\mathrm{*}}\times {d}_{1}} $分别为对应节点和连接关系的转换权重矩阵;$ {\boldsymbol{x}}_{h}^{l}, {\boldsymbol{e}}_{r}^{l}, {\boldsymbol{x}}_{t}^{l}\in {\mathbb{R}}^{1\times {d}_{\mathrm{*}}} $分别为$ {x}_{h}, r, {x}_{t} $在第$ l $层的向量表征,初始第1层的表征为对应的嵌入层输出的低维嵌入特征;$ \sigma $为LeakyRelu激活函数;$ {d}_{1} $为表征空间的向量维数,在第一层时$ {d}_{\mathrm{*}}={d}_{0} $,在其他层时$ {d}_{\mathrm{*}}={d}_{1} $

重要性权重描述了邻接点的重要程度,根据此权重,融合邻接点的向量表征,得到$ {x}_{h} $的输出向量表征为:

$ {\boldsymbol{x}}_{h}^{l+1}=\mathrm{T}\mathrm{a}\mathrm{n}\mathrm{h}\left(\sum\limits _{{x}_{t}\in {\mathcal{N}}_{h}}{\alpha }^{l}({x}_{h}, r, {x}_{t}){\boldsymbol{x}}_{\boldsymbol{t}}^{\boldsymbol{l}}{\boldsymbol{W}}_{1}^{l}\right) $ (3)

其中:Tanh为激活函数。通过堆叠多层图注意力网络,传播式地捕捉评论文本中词与词的长期依赖关系。假设堆叠层数为$ L $,可得到对应$ L $$ {x}_{h} $的输出向量表征为$ \{{\boldsymbol{x}}_{h}^{2}, {\boldsymbol{x}}_{h}^{3}, \cdots , {\boldsymbol{x}}_{h}^{L+1}\} $

2.2.3 基于交互关系的注意力机制

当图$ {\mathcal{G}}_{u} $的所有节点经过$ L $层基于连接关系的图注意力网络后,本文提出基于交互关系的图注意力机制,聚合节点表征得到整个图的表征。该注意力机制根据用户$ u $和项目$ i $的信息,为图中的每个节点赋予交互水平的重要性权重。假设对上述第$ l $层的图注意力网络的输出节点表征进行聚合,节点$ {x}_{h} $权重的计算方式为:

$ {\beta }_{h}^{l}=\frac{\mathrm{e}\mathrm{x}\mathrm{p}\left[{\rho }^{l}\right({x}_{h}, u, i\left)\right]}{\sum \limits_{{x}_{\tilde{h}}\in {\mathcal{X}}_{u}}\mathrm{e}\mathrm{x}\mathrm{p}\left[{\rho }^{l}\right({x}_{\tilde{h}}, u, i\left)\right]} $ (4)
$ {\rho }^{l}({x}_{h}, u, i)=\sigma \left({\boldsymbol{x}}_{h}^{l+1}\right(\mathrm{T}\mathrm{a}\mathrm{n}\mathrm{h}\left(\right[{\boldsymbol{e}}_{u}\left|\right|{\boldsymbol{e}}_{i}\left]{\boldsymbol{W}}_{3}^{l}{\left)\right)}^{\mathrm{T}}\right) $ (5)

其中:$ {\boldsymbol{W}}_{3}^{l}\in {\mathbb{R}}^{2{d}_{0}\times {d}_{1}} $为转换权重矩阵;$ \left|\right| $为向量拼接操作。根据重要性权重对输出的节点表征加权相加,得到图$ {\mathcal{G}}_{u} $$ l $层的输出表征为:

$ {\boldsymbol{g}}_{u}^{l+1}=\sum \limits_{{x}_{h}\in {\mathcal{X}}_{u}}{\beta }_{h}^{l}{\boldsymbol{x}}_{h}^{l+1} $ (6)
2.2.4 表征融合

为提高模型的表达能力,首先对基于用户ID的低维嵌入特征$ {\boldsymbol{e}}_{u} $应用一层非线性变换:

$ {\boldsymbol{m}}_{u}=\mathrm{T}\mathrm{a}\mathrm{n}\mathrm{h}\left({\boldsymbol{e}}_{u}{\boldsymbol{W}}_{4}\right) $ (7)

其中:$ {\boldsymbol{W}}_{4}\in {\mathbb{R}}^{{d}_{0}\times {d}_{1}} $为转换权重矩阵。用户的最终表征为$ {\boldsymbol{m}}_{u} $和上述在所有层输出的图表征的拼接:

$ {\boldsymbol{p}}_{u}={\boldsymbol{m}}_{u}\left|\right|{\boldsymbol{g}}_{u}^{2}\left|\right|{\boldsymbol{g}}_{u}^{3}\left|\right|\cdots \left|\right|{\boldsymbol{g}}_{u}^{L+1} $ (8)

按照同样的流程,可以得到项目$ i $的最终表征$ {\boldsymbol{q}}_{i} $

2.3 评分预测

本文使用因子分解机计算用户对项目的评分。首先拼接用户和项目的最终表征:

$ \boldsymbol{z}={\boldsymbol{p}}_{u}\left|\right|{\boldsymbol{q}}_{i} $ (9)

评分的计算方式为:

$ {\widehat{y}}_{ui}={b}_{0}+{b}_{u}+{b}_{i}+\boldsymbol{z}{\boldsymbol{w}}^{\mathrm{T}}+\sum \limits_{n=1}^{{d}^{\text{'}}}\sum\limits _{m=n+1}^{{d}^{\text{'}}} < {\boldsymbol{v}}_{n}, {\boldsymbol{v}}_{m} > {z}_{n}{z}_{m} $ (10)

其中:$ {b}_{0}\mathrm{、}  {b}_{u} $$ {b}_{i} $分别为全局偏差、用户偏差、项目偏差量;$ \boldsymbol{w}\in {\mathbb{R}}^{1\times {d}^{\text{'}}} $为权重向量,且$ d\text{'}=2(L+1){d}_{1} $$ {\boldsymbol{v}}_{n} $$ {\boldsymbol{v}}_{m}\in {\mathbb{R}}^{1\times k} $为对应于$ \boldsymbol{z} $的第n维、第m维元素的潜在因子向量;$ {z}_{n} $$ \boldsymbol{z} $n维元素的值;$ < \cdot > $为内积操作。

为学习整个模型的参数$ \boldsymbol{\Theta } $,本文定义模型的损失函数如下:

$ \underset{\boldsymbol{\Theta }}{\mathrm{m}\mathrm{i}\mathrm{n}}\sum \limits_{(u, i)\in \mathcal{D}}({y}_{ui}-{\widehat{y}}_{ui}{)}^{2}+\lambda \left|\right|\boldsymbol{\Theta }|{|}_{\mathrm{F}}^{2} $ (11)

其中:$ \lambda $为正则化系数。整个模型可以通过端对端的后向传播算法进行高效训练。

2.4 算法流程

RGP算法流程如下:

算法1   RGP算法

输入    用户对项目的评分数据$ D $,用户和项目的评论文本集

输出   RGP预测模型$ F(u, i|\boldsymbol{\Theta })={\widehat{y}}_{ui} $

1.随机初始化模型所有参数$ \mathrm{\Theta } $

2.for用户$ \mathrm{u} $,项目$ \mathrm{i} $,评分$ {\mathrm{y}}_{\mathrm{u}\mathrm{i}} $ in评分数据$ \mathrm{D} $

3.构建用户$ \mathrm{u} $和项目$ \mathrm{i} $的评论文本图$ {\mathrm{G}}_{\mathrm{u}} $$ {\mathrm{G}}_{\mathrm{i}} $

4.根据式(1)~式(10)预测评分$ {\widehat{\mathrm{y}}}_{\mathrm{u}\mathrm{i}} $

5.根据式(11),利用后向传播算法计算所有参数$ \mathrm{\Theta } $的梯度

6.使用梯度下降法(Adam)更新参数

7.end for

8.return $ \mathrm{F}(\mathrm{u}, \mathrm{i}|\mathrm{\Theta }) $

2.5 算法时间复杂度

假设每个用户或项目的评论文本所挑选关键词的数量为$ {N}_{w} $,则构建评论图的时间复杂度为$ O\left(\omega {N}_{w}\right) $,图的构建可在训练外离线进行。基于连接关系的图注意力网络的时间复杂度为$ O\left(L{N}_{w}{d}_{1}^{2}\right) $$ L $为堆叠层数。基于交互关系的注意力机制的时间复杂度为$ O\left({N}_{w}{d}_{1}^{2}\right) $。综上可知,RGP算法的总时间复杂度为$ O\left(\right(L+1\left){N}_{w}{d}_{1}^{2}\right) $

3 实验和结果分析 3.1 实验设置 3.1.1 实验数据

本次实验使用亚马逊评论公开数据集Amazon 5-score中的3个子类别数据集Instant Video、Tools and Home Improvement、Baby。3个数据集均包含用户对项目1~5之间的显示评分以及来自Amazon网站的用户真实评分。表 1所示为3个数据集的统计信息。

下载CSV 表 1 数据集统计信息 Table 1 Datasets statistics
3.1.2 实验设定和度量指标

本文将每个数据集随机划分成训练集(80%)、测试集(20%),随机取训练集的10%作为验证集。为验证本文所提算法的预测准确度,实验均采用均方差(MSE)来衡量预测评分和真实评分的差异,MSE计算公式如下:

$ {M}_{\mathrm{M}\mathrm{S}\mathrm{E}}=\frac{1}{\left|{\mathcal{D}}_{\mathrm{t}\mathrm{e}\mathrm{s}\mathrm{t}}\right|}\sum \limits_{(u, i)\in {\mathcal{D}}_{\mathrm{t}\mathrm{e}\mathrm{s}\mathrm{t}}}({y}_{ui}-{\widehat{y}}_{ui}{)}^{2} $ (12)

其中:$ {\mathcal{D}}_{\mathrm{t}\mathrm{e}\mathrm{s}\mathrm{t}} $为测试集。MSE值越小,表示模型预测结果越准确。

3.1.3 对比算法

本文将RGP算法与以下5个基准算法进行对比:

1) PMF[1]是经典的概率矩阵分解模型,未用到评论文本信息。

2) DeepCoNN[5]通过卷积神经网络CNN提取评论文本集的语义特征,用来计算用户对项目的评分。

3) NARRE[8]使用注意力机制计算每条评论的重要性分数,并为预测评分提供评论水平的解释性。

4) NRPA[10]使用基于个性化注意力机制的评论表征编码器和用户/项目表征编码器,依次得到评论表征和用户/项目表征。

5) DAML[17]使用局部注意力机制过滤评论信息,使用交互注意力机制学习用户和项目评论的互相关性。

3.1.4 超参数设置

对于RGP算法,通过网格搜索法寻找最佳的超参数:嵌入空间和表征空间的向量维数$ {d}_{0} $$ {d}_{1} $在{8,16,32,48,64}中选取,学习率$ r $在{0.005,0.001,0.000 5}中选取,正则化系数$ \lambda $在{1,0.5,0.1,0.01}中选取,训练批次大小和堆叠层数$ L $分别在{64,128,256}和{1,2,3,4}中选取。对比算法均根据原文献进行参数初始化,通过微调使其达到最佳性能。

3.2 性能比较

本文RGP算法和对比算法的实验结果如表 2所示。从表 2可以看出,与仅基于评分数据的PMF算法相比,利用评论文本的算法(DeepCoNN、NARRE、NRPA、DML、RGP)具有更好的推荐性能,因为评论文本中包含的用户偏好和项目属性信息可以对评分数据进行补充;在同样利用评论文本的推荐算法中,使用注意力机制的算法(NARRE、NRPA、DAML、RGP)相较未使用注意力机制的算法(DeepCoNN)具有更优的性能,这是因为注意力机制可以识别每个词、句子或评论的重要性,针对评分行为更加细致地捕捉评论文本的语义信息;在所有基准算法中,DAML算法表现最佳,其融合CNN和交互的注意力机制探索用户和项目评论文本自身以及相互的相关性,可以捕捉到更加丰富的有关用户喜好和项目特性的信息。

下载CSV 表 2 不同推荐算法的性能对比结果 Table 2 Performance comparison results of different recommendation algorithms

本文RGP算法在3个数据集上的性能都优于对比算法:和使用注意力机制的NARRE、NRPA算法相比,RGP中基于交互关系的注意力机制更能捕捉用户对不同项目的不同喜好;和使用交互注意力机制的DAML相比,RGP通过将评论文本表示成图并应用堆叠的图注意力网络,可以在捕捉交互水平喜好特性的同时有效捕捉评论中词与词之间长期、非连续和全局的拓扑与依赖信息。

3.3 消融实验

为了进一步验证RGP算法各个部分的有效性,本文进行消融实验以评估以下4个RGP变种算法的性能:

1) RGP-T算法:从RGP算法中去除评论图中的边的连接关系,即不考虑词序信息。

2) RGP-A算法:从RGP算法的图注意力网络中去除注意力机制,即直接对邻接点的表征做均值聚合。

3) RGP-G算法:从RGP算法中去除堆叠的图注意力网络,对初始嵌入表征经一层非线性变换后输入到基于交互关系的注意力机制中。

4) RGP-I算法:从RGP算法中去除基于交互关系的注意力机制,直接对图的节点表征做均值聚合。

5种算法在Instant Video数据集上的实验结果如图 3所示(在其他2个数据集上的结果与图 3所示结果类似)。从图 3可以看出:原始RGP算法的性能优于4个变种算法,说明在RGP算法中,基于连接关系的图注意力网络和基于交互关系的注意力机制对性能提升均起到积极作用;在变种算法中,RGP-G算法的性能最差,验证了将评论文本表示成图的有效性。

Download:
图 3 在Instant Video数据集中的消融实验结果 Fig. 3 Ablation experimental results in the Instant Video dataset
3.4 参数敏感度实验

为分析超参数对模型性能的影响,本文进行2组参数分析实验,2个超参数分别是表征空间的向量维数$ {d}_{1} $和基于连接关系的图注意力网络层的堆叠数量$ L $

针对不同的表征空间向量维数{8,16,32,48,64},在Instant Video数据集上进行实验的结果如图 4所示(在其他2个数据集上的结果与图 4所示结果类似)。从图 4可以看出:当维数设置为16时,模型推荐性能最佳,更高的维数不仅不会提升性能,还会造成时间和空间复杂度提升;对于不同的数据集,最佳维数不是固定不变的;当数据集的训练样本足够时,应适当提高维数以增强模型的拟合能力,而当训练样本较少时,应适当减少维数以避免模型过拟合。

Download:
图 4 表征空间的向量维数对模型性能的影响 Fig. 4 Effect of vector dimensions of representation space on model performance

针对不同的图注意力网络堆叠层数{1,2,3,4},在Instant Video数据集上进行实验的结果如图 5所示(在其他2个数据集上的结果与图 5所示结果类似)。从图 5可以看出:当层数设置为3层时,模型推荐性能最佳,这是因为当层数太少时,模型无法从评论文本中捕捉足够的有效信息;而当层数太多时,模型会由于参数过多导致过拟合。

Download:
图 5 图注意力网络堆叠层数对模型性能的影响 Fig. 5 Effect of stack layers of graph attention network on model performance
3.5 注意力机制分析

为验证模型中注意力机制所发挥的作用,本文提取一对在Instant Video测试集中的用户(ID为742)和项目(ID为1551)的交互记录(评分为5),并提取模型在此用户和项目的评论文本图中所计算的注意力分数。

基于连接关系的图注意力网络在用户和项目的评论文本图中所计算的注意力分数分别如图 6图 7所示。由于真实评论文本图的节点数和邻点数过多,此处只呈现了部分有说明性的重要节点。可以看出,不同的邻点拥有不同的注意力权重,并且能够表达用户或项目特性的邻点权重相对更高。例如,在图 6节点“great”的邻点中,“storyline”(权重0.099 2)和“show”(权重0.098 1)更能表达用户喜欢视频的剧情和故事线,则对应的权重更高一些,而邻点“job”(权重0.056 3)的权重更低一些。图 7的情况与图 6类似。因此,基于连接关系的图注意力网络可以有效捕捉不同邻点对中心节点的重要性程度,从而实现过滤信息的作用。

Download:
图 6 用户的部分评论文本图和注意力分数 Fig. 6 User's partial review text graph and attention scores
Download:
图 7 项目的部分评论文本图和注意力分数 Fig. 7 Item's partial review text graph and attention scores

基于交互关系的注意力机制在用户和项目的评论文本图中所计算的注意力分数(括号中的数值)如表 3所示,这里只呈现和图 6图 7相关并且更能说明用户和项目特性的节点词。可以看出,在注意力机制中,更能体现其特性的词的注意力权重更高,而一些无关词的权重相对较低。如在用户评论图中,“characters”和“storyline”的权重更高,说明用户比较注重视频的演员和剧情;项目评论图中“actors”和“story”的权重更高,并且伴有正向评价,说明此视频的剧情和演员都不错。因此,用户对此视频的评分为5分,说明喜欢该视频。基于交互关系的注意力机制可以使得模型更加注重评论中意义丰富的词,从而实现动态捕捉用户和项目特性的目的。

下载CSV 表 3 部分词及其对应的基于交互关系的注意力分数 Table 3 Partial words and their corresponding attention scores based on interaction
4 结束语

本文提出一种基于评论文本图表示学习的推荐算法RGP,其能有效融合评论文本和图表示学习的性能优势。引入基于连接关系的图注意力网络和基于交互关系的注意力机制,可以更加充分地捕捉词与词、交互行为与评论文本之间的相关信息。在Amazon数据集上的实验结果表明,相对PMF、DAML等算法,RGP算法可有效提高推荐精度。下一步将尝试引入更多的非评分辅助信息,以建立更为准确的用户偏好和项目特征分布,从而提高推荐精度。

参考文献
[1]
WEI X H, SUN B Y, CUI J X. Recommending activity to users via deep graph neural network[J]. Journal of Jilin University(Engineering and Technology Edition), 2021, 51(1): 278-284. (in Chinese)
魏晓辉, 孙冰怡, 崔佳旭. 基于图神经网络的兴趣活动推荐算法[J]. 吉林大学学报(工学版), 2021, 51(1): 278-284.
[2]
MCAULEY J, LESKOVEC J. Hidden factors and hidden topics: understanding rating dimensions with review text[C]//Proceedings of the 7th ACM Conference on Recommender Systems. New York, USA: ACM Press, 2013: 165-172.
[3]
TAN Y Z, ZHANG M, LIU Y Q, et al. Rating-boosted latent topics: understanding users and items with ratings and reviews[C]//Proceedings of International Joint Conference on Artificial Intelligence. New York, USA: AAAI Press, 2016: 2640-2646.
[4]
LI W L, WANG C L, WEN J H. Collaborative filtering recommendation algorithm based on reviews and ratings[J]. Application Research of Computers, 2017, 34(2): 361-364. (in Chinese)
李伟霖, 王成良, 文俊浩. 基于评论与评分的协同过滤算法[J]. 计算机应用研究, 2017, 34(2): 361-364. DOI:10.3969/j.issn.1001-3695.2017.02.009
[5]
ZHENG L, NOROOZI V, YU P S. Joint deep modeling of users and items using reviews for recommendation[C]//Proceedings of the 20th ACM International Conference on Web Search and Data Mining. New York, USA: ACM Press, 2017: 425-434.
[6]
ZHOU C H, YU C, LU Y. Recommendation model of deep neural network combining rating matrix and review text[J]. Application Research of Computers, 2021, 38(4): 1058-1061, 1068. (in Chinese)
周传华, 于猜, 鲁勇. 融合评分矩阵和评论文本的深度神经网络推荐模型[J]. 计算机应用研究, 2021, 38(4): 1058-1061, 1068.
[7]
LU Y C, DOND R H, SMYTH B. Coevolutionary recommendation model: mutual learning between ratings and reviews[C]//Proceedings of 2018 World Wide Web Conference. New York, USA: ACM Press, 2018: 773-782.
[8]
CHEN C, ZHANG M, LIU Y Q, et al. Neural attentional rating regression with review-level explanations[C]//Proceedings of 2018 World Wide Web Conference. New York, USA: ACM Press, 2018: 1583-1592.
[9]
HUANG W M, WEI W C, ZHANG J, et al. Recommendation method based on attention mechanism and review text deep model[J]. Computer Engineering, 2019, 45(9): 176-182. (in Chinese)
黄文明, 卫万成, 张健, 等. 基于注意力机制与评论文本深度模型的推荐方法[J]. 计算机工程, 2019, 45(9): 176-182.
[10]
LIU H T, WU F Z, WANG W J, et al. NRPA: neural recommendation with personalized attention[C]//Proceedings of the 42nd International ACM SIGIR Conference on Research and Development in Information Retrieval. New York, USA: ACM Press, 2019: 1233-1236.
[11]
RENDLE S. Factorization machines[C]//Proceedings of 2010 IEEE International Conference on Data Mining. Washington D.C., USA: IEEE Press, 2010: 995-1000.
[12]
BLEI D M, NG A Y, JORDAN M I. Latent Dirichlet allocation[J]. Journal of Machine Learning Research, 2003, 3(4/5): 993-1022.
[13]
LING G, LYU M R, KING I. Ratings meet reviews, a combined approach to recommend[C]//Proceedings of the 8th ACM Conference on Recommender Systems. New York, USA: ACM Press, 2014: 105-112.
[14]
BAO Y, FAND H, ZHANG J. TopicMF: simultaneously exploiting ratings and reviews for recommendation[C]//Proceedings of the 28th AAAI Conference on Artificial Intelligence. New York, USA: AAAI Press, 2014: 2-8.
[15]
WANG H, WANG N Y, YEUNG D Y. Collaborative deep learning for recommender systems[C]//Proceedings of the 21th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York, USA: ACM Press, 2015: 1235-1244.
[16]
WU L B, QUAN C, LI C L, et al. A context-aware user-item representation learning for item recommendation[J]. ACM Transaction on Information System, 2019, 37(2): 1-29.
[17]
LIU D H, LI J, DU B, et al. DAML: dual attention mutual learning between ratings and reviews for item recommendation[C]//Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York, USA: ACM Press, 2019: 344-352.
[18]
WU C H, QI T, GE S Y, et al. Reviews meet graphs: enhancing user and item representations for recommen-dation with hierarchical attentive graph neural network[C]//Proceedings of 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing. [S.l.]: Association for Computational Linguistics, 2019: 4884-4893.
[19]
BAUMAN K, LIU B, TUZHILIN A. Aspect based recommendations: recommending items with the most valuable aspects based on user reviews[C]//Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York, USA: ACM Press, 2017: 717-725.
[20]
CHIN J Y, ZHAO K Q, JOTY S, et al. ANR: aspect-based neural recommender[C]//Proceedings of the 27th ACM International Conference on Information and Knowledge Management. New York, USA: ACM Press, 2018: 147-156.
[21]
LI W Q, XU B G. Aspect-based fashion recommendation with attention mechanism[J]. IEEE Access, 2020, 8: 141814-141823.
[22]
MIHALCEA R, TARAU P. TextRank: bringing order into text[C]//Proceedings of 2004 Conference on Empirical Methods in Natural Language Processing. [S.l.]: Association for Computational Linguistics, 2004: 404-411.