融合评论文本与评分交互特征的推荐方法

2023-02-21 13:16陈丽琼范国庆毕晓钰
计算机工程与设计 2023年2期
关键词:向量矩阵特征

陈丽琼,范国庆,2,毕晓钰,郭 坤

(1.上海应用技术大学 计算机科学与信息工程学院,上海 201418; 2.上海市行政管理学校 计算机系,上海 201803)

0 引 言

传统的协同过滤算法[1]通常使用用户对商品的评分进行建模。评分数据是用户对商品最直接的交互,它能够有效构建用户画像。但是由于评分数据存在数据稀疏的问题,影响了推荐结果的准确性[2]。评分的稀疏性问题的实质是数据信息的稀疏。因此要解决稀疏性需要引入其它数据类型。用户为商品撰写的评论中存在着大量的信息[3-5]。这些文本评论能够体现出用户的偏好以及商品特征信息,是一种语义信息丰富的隐式特征。相比于单纯的利用显式评分特征,文本信息一方面可以弥补评分稀疏性的问题,另一方面在推荐系统的可解释方面也能够做得更好。例如从用户对某部电影的评论中,能够看出电影的一些情节特征,还有用户自己的理解与喜好兴趣等。因此,本文提出一种融合文本评论和用户评分交互的推荐模型。利用把评论文本作为辅助信息来降低评分矩阵稀疏性的影响达到提高推荐结果的准确性。

1 相关工作

评分交互的推荐方法主要是基于隐语义模型的矩阵分解技术。矩阵分解就是把高维的用户-商品评分矩阵分解成为两个低维的用户因子矩阵和商品因子矩阵。使用了用户向量与商品向量的点积的结果作为用户对商品的预测评分。但是,现实生活中用户评分的商品会远远小于商品总数,这会使评分矩阵存在的数据稀疏问题从而影响了推荐结果的准确性。Gai Li等[6]提出一种融合CLIMF(collaborative less-is-more filtering)和概率矩阵分解(PMF)的协同过滤算法,提高了推荐结果精度,同时具有低复杂性等优点。GuiBing Guo等[7]将隐式反馈(例如点击、想要)融入到Top-N的推荐中,以缓解数据稀疏问题。Xin Zhou等[8]提出了一种基于项目的通用多方面用户偏好学习(MUPL)框架。通过考虑不同的用户体验和意图,从群体、个人和行为方面捕获用户的偏好。JianWu Bi等[9]为了缓解数据稀疏问题,利用用户基本数据和商品基本数据构建了一个用于预测用户收视率的深度神经网络模型。基于所获得的用户特征矩阵和项目特征矩阵,使用完全连接层进一步构建用户项目特征矩阵。苑宁萍等[10]融合了社交活动的主题分布、用户的兴趣度、用户之间的信任值。用户间的综合相似度由新的兴趣度相似矩阵构建得到,为了得到个性化推荐权值,融合了用户相似度与信任度两个特征。最终的推荐结果是由具有不同权重配比的特征而来。

在基于评论文本的推荐系统,处理评论文本方法通常分为两种:①将用户或者商品的多条评论拼接成一个较长的文档,然后从该文档中提取全局的用户特征或商品特征。②将每一条的评论单独建模,然后将评论中的特征聚合为用户特征。Donghyun Kim等[11]采用深度学习与概率图模型的结合方式来提高评分预测的准确性。即将卷积神经网络用于对商品评论文本中商品特征的提取,然后采用卷积神经网络与概率矩阵分解相结合的方式用于评分预测。但是,文章中仅仅使用了商品的评论数据和用户的评分数据。Yufei Wen等[12]有限考虑并利用商品的评论进行建模,采用预训练的网络嵌入代替分布函数来增强推荐效果。Sunyong Seo等[13]引入了局部注意力机制和全局注意力机制来寻找评论文本中更加具有信息的词。为不同的词赋予不同的权重来为用户和商品建模。Chin JY等[14]提出了一种基于角度级别(aspect-based)的神经网络推荐算法。即基于用户的评论角度和商品介绍角度,设计了一个注意力机制,在学习阶段只关注评论的相关角度部分。在预测阶段使用共同关注的机制。

本文提出一种融合文本评论和用户评分交互两个特征的推荐模型。该模型第一步先将关于用户的所属评论短文本和关于商品的相关评论短文本分别连接成一个较长的长文档。然后经过编码层后得到用户表示和商品表示。再将用户表示和商品表示向量分别与传统矩阵分解的用户潜在因子向量和商品潜在因子向量进行融合并进行各自评分,最后经过动态的线性加权融合,做出整体模型的评分预测。

2 模 型

2.1 问题与符号定义

表1 符号及其定义

2.2 模型结构

图1 推荐算法模型结构

2.2.1 文本特征提取模块

本文使用词嵌入(word2vector)模型来获得评论文本的语义特征。词嵌入是一个基于深度学习的轻量化文本处理模型。它不仅能够分析出语义而且能够生成每个此的词向量表示。词嵌入模型实际上是一个简单化的神经网络,它只含有一个隐藏层的全神经网络。它将一个词的热编码(One-Hot)作为输入层的输入。然后在隐含层中输入w*x+b。 这里的x就是输入的词向量,w和b是参数。需要注意的是,隐藏层并没有激活函数,在这里只是一个做简单映射的线性模型。输出层的维度与输入层的维度一致并且用Softmax回归。这个过程便称为词嵌入,即将高维词向量嵌入到一个低维空间中的同时还保留了语义。

(1)

(2)

这里符号*是卷积操作,bj表示的是偏置项,f表示的是激活函数。在这个模型中,使用ReLU函数作为激活函数。ReLU函数的定义如下

f(x)=max{0,x}

(3)

然后进行最大池化操作,将最大值作为与此特定内核相对应的特征。在最大池化操作之后,卷积结果将减小为固定大小的向量

Oj=max{Z1,Z2,Z3,…Z(n-t+1)}

(4)

模型使用多个过滤器来获取各种特征,并且卷积层的输出向量由式(5)进行表示

O={o1,o2,o3,…on1}

(5)

这里的n1表示了卷积层的核数。

最大池化的结果将伴随着权重矩阵W传到一个全连接层。如式(6)所表示的,全连接层的输出xu考虑了用户u的特征。最终,用户和项目CNN层的输出xu和yi可以被获取

xu=f(w×o+g)

(6)

2.2.2 评分交互特征提取模块

特征提取模块的基础是奇异值分解(svd),它是一种矩阵分解算法。矩阵分解技术是实现隐语义模型最常使用的方法。矩阵分解算法的基本原理是将原来的大矩阵,分解成两个小矩阵的乘积并且要尽可能的与大矩阵相似。在接下来的推荐过程中,使用两个小矩阵代替大矩阵。根据矩阵分解的原理可知,原来的m×n大矩阵会被分解成m×k和k×n的两个小矩阵。这里的k便是隐因子向量。隐因子向量包含了用户和商品一部分共同拥有的特征。在用户身上表现为用户的偏好,在商品上表现为商品的属性。一般的,隐因子数量k要远远小于用户的数量和商品的数量。矩阵分解利用用户信息和商品信息中的隐含结构进行建模,它能够挖掘出用户和商品的关系。

存在一个评分矩阵R,每行代表一个用户(User),每列代表一个商品(Item),其中的元素表示User对Item的打分,空表示User未对Item打分。矩阵可分解为矩阵乘积

Rui=PukQki

(7)

式中:下标u和i分别表示用户数以及商品数。

接着使用R中的已知评分训练矩阵P和Q使得矩阵P和Q相乘的结果能够拟合已知的评分,则待预测的评分也就可以由P的某一行与Q的某一列相乘得到了

(8)

(9)

(10)

其中,对于One-hot编码表示的xu和xi, 表示隐空间向量为:pu和qi;p和q分别表示用户数目和商品数目;Zint具有交互特征的高级向量。特征提取模块原理图如图2所示。

图2 评分特征提取模块

由于特征之间的关联程度将对事件发生结果产生重要的影响。因此需要构造组合特征来表示特这之间的关联。本文所述特征提取模块的输出结果是用户、商品的评分特征和文本特征,但是它们并不在同一个特征空间中。因此,本文分别将特征提取层的高维稀疏向量引入了因子分解机来解决特征之间组合的问题。因子分解机作用是分别为每一个特征引入了一个具有低维特点以及具有稠密特点的向量特征xi,并因子分解机使用特征间向量特征的内积来衡量特征间的相关性。这样可以解决推荐系统工作中存在的两个特征交集数据稀少甚至没有的问题而且这样可以很好地衡量两者之间的相关性,从而能够有效解决推荐系统中存在的数据稀疏带来的相关问题

(11)

式中:w=(w1,w2,w3,…wn) 是n维向量。w0、w∈Rn、V∈Rn×k是模型参数。vi、vj是类似于矩阵分解中的用户或者商品的k维向量。V是由vi组成的矩阵。 表示的是两个k维向量的内积。

2.2.4 评分预测模块

(12)

(13)

3 实验设计与分析

3.1 数据集分析介绍及模型评价指标

本文用于实验验证模型的数据集是亚马逊的商品的一系列数据集,它是推荐系统方向常用的数据集,具有一定的权威性。它包含了Automotive(亚马逊汽车)、Music(亚马逊数字音乐)、Beauty(亚马逊美妆)、Toys(亚马逊玩具游戏)、Sports(亚马逊运动和户外)。特别的,对于SVD和NMF算法,需要将数据处理为user_id-item_id-ra-ting的格式。

在这些数据集中,对于每一个对象,本文我们都将使用到它们包含已有的4个特征。4个特征分别是用户编号(UserId)、商品编号ItemsId)、用户对商品的打分(1~5分且为整数)、用户对商品的评论文本。本文在进行实验验证前对上述的数据集进行了一些必要的统计。上述数据集的数据统计信息见表2。

表2 数据集统计信息

Density代表评分矩阵密度D,它度量评分矩阵的稀疏程度,它的定义是

虽然最密切联系原则已经作为一项“兜底条款”写入了我国《法律适用法》的总则部分,其在我国的司法实践中也成为了法官运用的最多的法律选择方法之一,但是我国学界对于该原则的评价始终是褒贬不一的。大部分学者对该原则持支持赞成的态度,认为最密切联系原则使得连结因素多样化,增强了法律选择的灵活性,增强了国际私法对新情况的适应能力;同时赋予了法官很大的自由裁量权,抛弃了“法律关系本座说”的机械性做法,并采用了柯里的“政府利益分析说”利益分析的方法决定法律的适用,“最密切联系原则已成为当今国际私法界共同的语言与趋势,并被某些国际私法学者奉为至高无上、神圣不可侵犯的理论。”但是,学界依然存在对该原则的批判之声:

(14)

由表2以及矩阵密度公式可知,本文采用的数据集评分矩阵密度都低于1%。这表明,虽然每个数据集中用户和商品数量很大,但是每个用户对商品进行打分的交互行为却很少,表明本文中采用的5个实际数据集的评分数据是及其稀疏的。这将影响到矩阵分解模型对预测评分的准确度。同时从表2可知,这5个数据集都包含一定的相关用户评论和相关商品评论,用户的偏好以及商品特征能够很好地从这些文本评论中体现。这些具有丰富的语义信息的信息是一种隐式特征。因此使用这些文本信息可以弥补评分稀疏性的问题。由于本文所述模型的思路主要是采用融合评论文本数据作为额外的特征来源来缓解推荐系统中存在的数据稀疏问题。因此本文对商品评论中的文本长度进行了统计来说明评论文中蕴含信息。评论长度分布如图3所示。

图3 文本数据长度分布

由图3可知,每个数据集的文本长度集中在50~150之间,都超过了30%。除了音乐数据集,文本长度在0~50个词也都超过了40%。因此可以发现,大部分的用户和商品都相应的具有一定长度的评论文本,而在这些评论文本中都蕴含了大量的特定用户的某些偏好特征和特定的商品特征。因此可以通过融入评论文本信息的手段来实现有效的缓解数据稀疏的问题并提高预测评分准确度的目的。

通过对比本文模型和其它推荐模型(Svd、Svdpp、NFM、CONVMF、DeepCoNN)的常用度量指标均方误差RMSE和平均绝对误差MAE作为推荐结果的评价指标来评价本文模型。其中RMSE和MAE的值越小表示模型的准确性越高。

RMSE的定义如下

(15)

MAE的定义如下

(16)

3.2 对比模型

为了完成本文的对比实验,本文设计的对比实验主要有以下两个目的:①融合评论文本信息的推荐方法是否比传统的协同过滤算法准确度更高。②相比较于单纯的基于文本评论的推荐方法,融合矩阵分解和文本评论方法的准确度更高。在对比实验中我们采用了两大类5个模型进行对比。其中SVD、SVDpp、NMF、ConvMF代表矩阵分解方法;DeepCoNN代表基于评论文本方法。

(1)SVD是基于隐语义模型(latent factor models)。将数据映射到低维空间,然后计算低维空间中的商品之间的相似度,对用户未评分的商品进行评分预测。

(2)SVDpp在隐语义模型的基础上,将隐式反馈信息作为补充信息加入。例如用户浏览行为、点击行为等反馈信息,使用用户的历史数据来更的挖掘出用户完整的偏好。SVDpp与SVD相比进一步提高模型预测精度。

(3)NMF非负矩阵分解模型。将一个非负矩阵分解成两个非负矩阵的乘积以解决非负性引发的稀疏问题和计算过程中的部分分解问题。

(4)ConvMF将卷积神经网络(cnn)与概率矩阵因式分解(pmf)相结合来提高预测精度。

(5)DeepCoNN深度协同神经网络模型是一种分别用于提取用户评论集和商品评论集中特征的深度学习模型。它的局限是仅利用评论文本中的信息来解决数据稀疏问题。

3.3 实验设计

我们使用了常用算法的参数设置来对参数初始化,并微调使其达到性能最佳。我们在Sports数据集上使用格子搜索法从 {8,16,32,64} 寻找本模型和SVD、SVDpp、NMF、DeepCoNN模型的最佳隐因子个数。如图4和图5所示的是不同隐因子个数对本文模型结果和对比模型结果的影响。

图4 不同隐因子个数对实验结果的影响(RMSE)

图5 不同隐因子个数对实验结果的影响(MAE)

由图4、图5可知,除了NMF算法在 (8,16,32) 上,实验结果随着隐因子个数的增加而明显变好,这里我们可知增加隐因子个数可以提高预测精度。但是隐因子个数从32增加到64时,实验结果的误差在这个范围内有一定的所增长。通过分析,我们认为这里误差增长的原因是由设置的隐因子数量过多而引起的过拟合现象。分析可知,随着隐因子个数在一定范围内增加,模型可以更好学习到用户和商品特征即用户画像得到了完善,提高了预测评分的准确度。但是过多的隐因子个数使得系统过拟合,不利于系统分辨出隐因子是否为用户和商品的真实特征,降低了预测评分的准确度。为了使模型达到最优性能,提高算法的速度,本文在接下来的实验中将隐因子的个数设置为32。对于深度模型DeepCoNN和本文算法的参数设置如下:Batch_size=100、embedding_dim=300、filter_sizes=3、num_filter=100、dropout_keep_prob=0.5、num_epochs=10。

本文采用了Dropout指标来缓解实验的过拟合的发生,起到正则化的效果。本文在Automotive数据集上对DeepCoNN模型和本文模型的Dropout指标在 (0.1,0.3,0.5,0.7,0.9) 范围内进行寻优。实验结果见表3。

表3 不同Dropout值对实验结果的影响(RMSE/MAE)

由表3上的结果可知:①本文模型与DeepCoNN模型相比,随着Dropout值的变化,本文模型在Automotive数据集上的RMSE值和MAE值均优于DeepCoNN的RMSE值和MAE值,这体现出了本文推荐方法相比于DeepCoNN方法更加接近实际值。②机器学习的模型中,如果模型参数过度会导致过拟合的现象。因此可以为模型设置恰当的Dropout比率值来缓解过拟合现象、提升模型的性能。在这里我们将Dropout值设置为常用值0.5。③由RMSE和MAE的定义可知,RMSE指标更容易受到预测极值的影响,这也体现了出了系统的预测的稳定性。本文模型的RMSE和MAE相比于DeepCoNN更小,这意味着本文模型的预测值比DeepCoNN更加平缓且接近真实值。

与对比模型在不同数据集下的实验结果如图6和图7所示。

图6 RMSE结果对比

图7 MAE结果对比

图6、图7显示的是本文提出模型的评分预测结果与对比模型的评分预测结果。分析图6、图7实验结果,本文有以下结论:在同样考虑评论文本的模型中, 本文模型相较于其它基于文本预测模型(ConvMF、DeepCoNN)而言,RMSE指标和MAE指标更低即预测的结果更加接近实际值。本文认为当中的原因是:其它基于文本预测模或只考虑文本数据中蕴含的用户偏好或只考虑了商品特征信息而忽略了完整的评论中的用户和商品信息以及用户对商品的直接评分的交互的影响。因此可知,用户的评分特征信息与用户为商品撰写的评论中蕴含的大量的信息将对预测结果产生积极的影响。这些文本评论能够体现出用户的偏好以及商品特征信息,是一种语义信息丰富的隐式特征。本文在基于文本信息的基础上融合评分交互,使得用户偏好以及商品特征信息更加完善,提高了模型的准确率。与传统评分矩阵模型(SVD、SVDpp)相比,预测结果也优于它们,这也验证额本文的猜想,即评论文本中蕴含的用户偏好以及商品特征信息较好弥补了矩阵分解技术中的矩阵稀疏性的缺点,提高了评级预测精度。

4 结束语

通过上述的研究可以知道:评论文本作为推荐算法的辅助信息相比单纯利用评分交互特征,可以有效缓解了数据稀疏性带来的影响提高了预测评分的准确度。本文提出了融合评分矩阵和评论文本的优化推荐模型,提取了用户评论和商品文本评论中蕴含的丰富的隐式特征并将其与传统的矩阵分解模型得到的用户的偏好以及商品特征信息相融合以完善用户偏好和商品特征。本模型可以较好解决的传统模型的矩阵稀疏问题,提高了模型评分预测的准确度。由于处理评论文本需要大量的计算资源,这导致了推荐算法不够灵活。未来的研究中,会关注微服务在推荐系统中的应用。将辅助信息以一个微服务模块,提高系统的可扩展性。

猜你喜欢
向量矩阵特征
根据方程特征选解法
向量的分解
聚焦“向量与三角”创新题
如何表达“特征”
不忠诚的四个特征
抓住特征巧观察
初等行变换与初等列变换并用求逆矩阵
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
矩阵