基于文本评论的可解释推荐研究
2019-12-02赵丽娅
赵丽娅
(四川大学计算机学院,成都610065)
0 引言
网络的飞速发展使得信息过载成为人们无法逃避的一个问题,推荐系统正是解决该问题强有力的手段之一。推荐系统的任务主要包括两个:评分预测和Top-K 排序。评分预测旨于预测用户对物品的评分;Top-K 排序旨在向用户提供一个感兴趣的物品推荐列表。为了增强推荐系统的说服力和可解释性,推荐系统除了给用户推荐商品,同时还会给用户提供推荐解释,这类工作我们称之为可解释推荐。可解释推荐也包括两大任务:可解释推荐评分预测和可解释Top-K排序。
矩阵分解方法由于其自身的准确性和可扩展性成为近年来可解释推荐常用的一种方法。矩阵分解主要依赖于用户和物品之间的显式交互(评分)或隐式的交互(点击、浏览等),这些交互只能反映出用户对物品的整体态度,没有考虑那些影响用户行为的潜在因素。为了解决这个问题,研究者们开始从用户的文本评论数据中通过一些自然语言处理的技术挖掘用户对物品细粒度的偏好用于可解释推荐。文本评论信息中包含着用户对物品的观点、情感倾向等细粒度的偏好信息,将其用于可解释推荐的研究可以提高推荐的准确性和可解释性。
本文通过对现有的可解释推荐方法的研究成果梳理,目前主流的基于文本评论的可解释推荐方法大致可分为三类:一类是基于评论的方法,该方法主要是将评论作为整个信息块用于可解释推荐。第二类是基于主题的方法,该方法主要是利用主题模型从文本评论中挖掘出用户感兴趣的主题信息用于可解释推荐。第三类是基于方面的方法,该方法主要是利用自然语言处理的技术手段从文本评论中提取用户感兴趣的方面信息用于可解释推荐。
1 基于评论的方法
基于评论的方法主要是将文本评论作为一个整体信息块结合评分用于可解释推荐,该方法将用户(物品)的所有评论信息作为特征表示用于推荐算法模型的训练,并没有深入挖掘评论中用户对物品不同特征上的偏好程度。
1.1 相关技术
(1)矩阵分解
矩阵分解[1]是近年来在推荐系统领域应用最广泛的技术,其任务是补全用户-物品评分矩阵缺省的评分。用户-物品评分矩阵的行代表用户,列代表物品,矩阵中行列对应的数值代表特定用户对特定物品的真实评分。在实际生活中,很多用户对物品是没有评分的,这导致评分矩阵极其稀疏,因此矩阵并不是全部被数值填满,这种没有的评分我们称为用户和物品缺省的评分。矩阵分解的任务就是预测用户和物品缺省的评分。其分解的思路主要是将用户原始评分矩阵近似为用户特征矩阵和物品特征矩阵的乘积来预测用户对物品的评分。
(2)卷积神经网络
Hubel 和Wiesel[2]在1968 年通过观察猫的视觉信息从视网膜传递到大脑的过程时,发现可以将此过程用于改进传统的BP(Back Propagation)神经网络,使其反向传播的计算复杂性得到有效降低,进而提出了卷积神经网络(Convolutional Neural Network,CNN)概念。卷积神经网络是一种包含卷积及其相关计算的前馈神经网络。该网络的基本组成单元是卷积核,卷积核的作用相当于局部特征提取器。卷积神经网络在进行前向传播和反向传播的迭代时,会不断更新各网络层的权重参数,最终使训练结果最大程度地接近真实值。常见的卷积神经网络一般包含五层,分别是输入层、卷积层、池化层、全连接层和Softmax 层。卷积神经网络在对文本进行建模时,通过滑动窗口对文本向量进行卷积操作,提取出的特征是局部相连词语之间的特征。卷积神经网络已经被很好地用于情感分析、机器翻译、推荐系统等任务中。
1.2 国内外研究
Štefan Pero 等人[3]提出的观点驱动矩阵分解模型将用户文本评论中的形容词和短语作为用户表达积极或者消极情感的观点词汇,将其聚集在一起构成一个情感词典,根据情感词典找出每条评论的观点词,然后将其与评分数据相结合用于可解释评分预测;Meng 等人[4]结合其他用户在一条评论上的情感倾向来分析该条评论在矩阵分解训练模型中的重要性。还有一些研究方法将一个用户(或者一个物品)的所有评论整理成用户评论文档(或者物品评论文档),然后利用深度学习的方法学习用户(或者物品)的连续向量表示,再结合矩阵分解的思想进行推荐模型的训练。例如:Catherine 等人[5]提出的TransNets 和Zheng 等人[6]提出的DeepCoNN 利用卷积神经网络将用户和物品的评论文档生成用户和物品的向量表示。Zhang 等人[7]提出的JRL 中利用PV-DBOW 模型根据评论文档来学习用户和物品的连续向量表示。在这三种方法中每个用户和物品的所有评论都会被压缩成向量的形式用于可解释推荐算法模型的训练。在这些方法中,它们都忽略了用户和物品在评论中的交互,没有深入挖掘用户和物品评论中细粒度的偏好信息,因为用户对物品不同特征的关注程度是不同的。例如:用户在对酒店的评论中会表达他们对酒店的位置、价格、环境等的偏好,这些细粒度的信息不仅能提高推荐的准确性,更能让推荐结果具有可解释性。
2 基于主题的方法
2.1 相关技术
隐含狄利克雷模型:
隐含狄利克雷模型LDA(Latent Dirichlet allocation)[16]是可解释推荐研究中提取文本评论主题信息时常用的主题模型,它是一种基于贝叶斯概率的文档主题生成模型。它将一篇文档看成是词的集合,词和词之间没有先后顺序,一篇文档中包含多个主题,文档中的每一个词都根据其中的一个主题生成,它可以将文档集中每篇文档的主题按照概率分布的形式给出。该模型包含三层结构:文档、主题和词,文档和主题之间、主题和词之间服从多项式分布。由于它是一种无监督的学习算法,在训练的时候不需要手工标注训练集,只需给定文档集和主题的数量就可以实现模型的训练。其优点是对于文档中的每一个主题均可找出描述它的相关词语。由于主题模型是根据文档、主题、词三者的概率分布计算词和词的共现规律,当文档很短的时候就不利于统计这种规律。
2.2 国内外研究
在基于文本评论的可解释推荐研究中,基于主题的方法常被用于可解释评分预测。基于主题的方法通常利用主题模型,如隐含狄利克雷,提取文本评论的主题参与推荐算法模型的训练并解释推荐结果。McAuley 等人[8]将主题模型与矩阵分解结合,把评论中提取的主题信息和矩阵分解中的潜因子进行映射,从而解释推荐的结果;Ling 等人[9]将评论文本主题与协同过滤方法相结合,提出一个统一的框架提升评分预测的准确率,同时对推荐进行解释;Bao 等人[10]提出一个矩阵分解和主题模型结合的主题矩阵分解模型,通过主题对推荐进行解释;基于主题的方法主要是通过主题模型挖掘用户在主题上的偏好,向用户做出推荐解释[11-12];文献[13-14]表明将主题模型与评分预测相结合能够提升评分预测的准确率。由于用户对物品的评价可能带有正面或者负面的情感,以上这些研究工作往往不能准确建模用户的偏好,它们通常忽视了用户在评论文本中表现出的情感信息并且只是在主题层次上进行推荐解释。
3 基于方面的方法
3.1 相关技术
在基于方面的研究方法中,学者们对方面的定义也各有不同,有的将方面定义成描述主题的相关词汇集合,有的将方面定义成相关的单词或者短语等。因此在各个模型中方面的表示也各有不同。近几年,深度学习在可解释推荐领域已经取得了很多瞩目的成果,注意力机制被用来研究用户对物品不同特征的关注程度。这些研究中,方面一般都被表示成词向量的形式作为推荐算法模型的输入来训练模型。
(1)词向量的表示
词向量的表示一般采用词嵌入技术将文本评论中的词语转换为带有语义规则的词向量。谷歌提出的Word2Vec 是基于局部词共现原理来生成词向量的方法,该模型一般有CBOW(Continuous Bag-of-Words)模型和Skip-Gram 模型两种模型。CBOW 模型是根据单词周边的上下文来预测该单词的概率,所有单词共享映射层,因此所有单词都被映射到相同的位置(向量平均化)它适用于较小的数据集。而Skip-Gram 模型则相反,它通过目标词来预测上下文单词出现的概率,适用于较大的数据集。Word2Vec 中包含两种优化效率的策略,相较于普通方法在训练该语言模型是,计算相对省时。一种是Hierarchical Softmax,第二种是负采样(Negative Sampling)。
(2)注意力机制
近年来,深度学习中的注意力机制(Attention Mechanism,AM)已经被广泛应用于推荐系统领域中。注意力机制类似于人的视觉注意力机制,其目的是根据当前任务从众多信息中找出关键信息,并给予这些关键信息更高的权重。传统的编解码器(Encoder-Decoder)首先通过编码器学习得到语义编码,然后将得到的语义编码作为解码器的输入,即解码器中不同的输出对应相同的语义编码,这与人们的直观理解不同,而且当编码器的输入序列过长时难以得到合理的语义编码,导致模型的性能下降。此外,输入序列中各输入所占的权重相同,这会造成模型的输入没有区分度,使得模型的效果下降。然而注意力机制却可以打破传统编解码器依赖相同语义编码的限制。经过注意力机制改进的编解码器模型,通过将输入序列中的各个输入赋予不同的权重就可以得到不同的语义编码,而这些语义编码对应的是解码器中不同的输出。
3.2 国内外研究
基于方面的方法主要是从评论中提取方面用于可解释推荐,该方法在可解释评分预测和可解释Top-K排序研究中都很常用。Ganu 等人[17]利用一个基于回归的推荐方法给酒店评论定义6 个方面和4 个情感信息用于可解释评分预测。Zhang 等人[18]使用一种非监督工具对文本评论信息进行方面提取和方面层次的情感分析,将方面和情感分析融合到矩阵分解算法中用于可解释评分预测。Chen 等人[19]提出一个张量矩阵分解的可解释Top-K 排序方法,算法最终预测的分值是用户最关心的各个物品特征的情感分值的加权,通过学习排序为每个用户选择最感兴趣的产品特征。
由于用户对物品不同方面关注程度是不同的,很多学者开始针对用户在物品不同方面的关注程度进行研究。例如:Hou 等人[15]将方面定义成评论中描述物品某个主题的一系列相关词的集合,主要通过主题模型和方面分割算法提取方面,最后将方面和评分作为推荐解释的依据。Cheng 等人[20]提出一个自适应的方面注意力模型A3NCF 用于评分预测,他们采用注意力机制捕捉用户对物品每个方面的关注程度,方面被定义成主题词向量和嵌入向量的组合。Chin 等人[21]提出的ANR 模型中一个用户喜欢的物品方面是根据该用户所有评论的词向量加权得到。Guan 等人[22]提出的AARM中方面是直接利用外部工具从评论中提取的单词或者短语,为了缓解评论中方面信息的稀疏性,该模型将用户的方面信息和物品的方面信息进行交互,再利用注意力机制捕捉用户对不同物品的不同方面的关注程度,最后用于可解释Top-K 排序研究。和基于主题的方法比较起来,基于方面的方法更能捕捉到用户对物品细粒度的偏好,因为基于方面的方法会更注重用户和物品之间的交互,而主题模型是基于文档词分布概率建立的,当文本评论比较短的时候主题模型很难将一个主题(单词或短语上的概率分布)与特定的产品特性联系起来。
4 结语
本文对基于文本评论的可解释推荐方法进行研究,将现有的基于文本评论的可解释推荐方法概括为基于评论的方法,基于主题的方法和基于方面的方法,并对这些方法进行了介绍。可解释推荐研究作为推荐系统的一个热门研究方向,具有十分广泛的应用前景,不仅可以从大量的用户信息中快速找到用户感兴趣的内容(广告、新闻、音乐、视频、商品等),更能在推荐的同时给用户做出合理的解释,从而帮助用户在物品之间快速做出选择。可以预见,未来将会涌现大量基于文本评论的可解释推荐研究的相关工作。