1. 引言
推荐系统的核心目标是通过提供个性化推荐服务以帮助用户应对日益增长的信息过载问题[1]。推荐系统通过深度挖掘用户偏好特征、项目属性信息以及用户–项目交互行为数据,进而精准预测用户对目标项目的偏好概率,最终优化用户的体验并显著提升用户粘性[2]。推荐系统能够从海量数据中自动挖掘并分析用户潜在的兴趣偏好,在创造显著商业价值的同时也成为学术界与工业界共同聚焦的研究领域[3]。
推荐系统大致可分为基于协同过滤的推荐、基于内容的推荐、基于知识的推荐以及混合推荐算法[4]。
基于协同过滤的推荐算法最早由Amazon和Netflix等公司在推荐系统的实际应用中提出并使用。协同过滤推荐算法包括两种类型分别为基于邻域的推荐和基于模型的推荐[5]。基于邻域的推荐算法其核心是通过相似性计算方法获得用户或者物品间的相似度[6],随后利用相似的用户或者物品作为邻居,从而计算用户对物品的预测评分[7]。基于模型的推荐算法通常是利用矩阵分解[8]、神经网络[9]等方法,计算用户和物品之间的复杂特征表示,从而进行推荐或者预测。
基于内容的推荐算法通常根据物品的内容特征,结合用户的历史行为数据产生推荐结果[10]。例如在电影推荐领域,物品的内容特征可能包括电影的类型、导演、演员等信息,在新闻推荐领域,物品的内容特征可能包括新闻的摘要、关键词等等。TF-IDF (Term Frequency-Inverse Document Frequency)是广泛用于推荐系统、搜索引擎以及文本挖掘中提取本文特征的算法[11]。Word2Vec [12]是用于学习单词向量化表示的模型,其利用神经网络将单词映射到连续的向量空间中,使得具有相似语义的单词在空间中的分布距离较近。
基于知识的推荐算法是利用领域知识和用户需求信息进行推荐行为,它不依赖于用户的历史行为数据而是通过显式地建模领域知识和用户偏好来生成推荐结果[13]。这类算法通常适用于冷启动问题或数据稀疏的场景。
混合推荐算法是结合多种推荐方法的优点,以克服单一推荐方法的局限性,提升推荐系统的准确性和多样性的一种策略[14]。
本文针对如何利用用户和物品的附加信息来提升推荐算法的准确性并缓解冷启动问题,深入研究了用户评论文本的编码方法,旨在提取用户和物品的评论约束特征,提出了基于评论约束与Kolmogorov-Arnold网络的深度推荐算法。
2. 相关工作
推荐系统面临的核心挑战在于海量的用户与物品间复杂的非线性交互关系,这些因素显著增加了特征学习的难度,在神经协同过滤中,通过引入神经网络模型,隐式地建模用户与物品之间的非线性交互特征,从而有效捕捉其潜在关联[15]。深度学习技术能够有效建模用户与物品之间复杂的非线性交互关系[16],相比传统推荐算法在个性化推荐精度和效果上具有显著优势[17]。
MCFSAE [18]通过One-Hot编码对用户和物品的ID进行特征表示,并将其与用户-物品评分矩阵融合,构建高维输入向量,进而利用神经网络模型实现评分预测。然而,该方法在处理大规模用户和物品数据时将面对维度灾难问题。DualDeepMF [19]利用双正则化矩阵分解获得用户和物品的潜在表示,之后利用神经网络的非线性建模能力来缓解矩阵分解中的线性点积操作而导致的模型预测能力受限问题。DELCR [20]通过嵌入技术提取用户与物品的潜在特征表示,并采用双塔结构对用户和物品分别进行特征学习,最后利用点积进行评分预测。上述基于深度学习的推荐算法都仅依赖于用户对物品的评分数据,并且可解性不足。
随着电子商务的蓬勃发展,平台在为用户提供海量商品信息的同时,也积累了规模庞大的用户评论数据。用户的评论中包含了对物品的功能、质量以及体验等多维度的客观评价信息,为深入挖掘用户偏好提供了重要的数据支撑,对提升推荐系统的精准性和个性化水平具有重要的研究价值。DeepCoNN [21]以CNN为基础框架,构建了一个双通道并行神经网络结构,分别利用评论数据来学习用户和物品的特征,该实验证明了利用评论文本可以有效缓解稀疏性问题。NARRE [22]在DeepCoNN的基础上,引入注意力机制以动态评估每条评论的贡献权重,通过聚焦于更具信息量的评论内容来优化特征提取过程,从而显著提升模型的预测精度与可解释性。CAML [23]提出一种互注意力可解释性推荐模型,利用推荐和解释任务之间的相关性提升两者的性能。PETER [24]使用Transformer [25]架构,对用户和物品的ID进行建模,设计了一个上下文预测的任务来连接ID和评论文本,根据用户和项目ID同时产生推荐和生成解释,以获得可解释的推荐。
尽管已有许多研究工作采用CNN来提取用户和物品评论中的特征,但这种方法在处理长序列文本时存在显著局限性。此外,现有方法在评分预测任务中主要依赖于MLP,并且仅利用用户的评论文本信息而忽略了物品描述中的丰富内容。物品描述通常包含对物品属性的全面介绍,对于缓解物品冷启动问题具有重要的辅助作用。本文提出的RCKAN (Review Constrained Kolmogorov-Arnold Network)利用预训练的BERT [26]模型来处理文本数据,有效克服了CNN提取局部特征的局限性,引入了物品的描述文档,为解决物品冷启动问题提供了新的思路,并且在评分预测任务中使用KAN [27]替代传统MLP进一步提升了评分预测任务的准确性。
3. 算法设计
本文提出的RCKAN是由用户以及物品的潜在特征、用户以及物品的评论约束以及基于Kolmogorov-Arnold的评分预测这三个部分组成,整体算法如图1所示。
Figure 1. Schematic diagram of RCKAN algorithm design
图1. RCKAN算法设计示意图
3.1. 用户以及物品的潜在特征
LIBMF [28]是一个高效且专门设计用于大规模数据的矩阵分解算法。它主要用于协同过滤任务,特别是在推荐系统中处理用户–物品评分矩阵。LIBMF的核心优势在于其能够高效处理大规模数据集,同时保持较低的内存占用和较高的计算性能。LIBMF的目标函数如公式(1)所示,其中
为真实评分,
和
为用户与物品的潜在向量,并使用L2正则化系数防止过拟合。
(1)
本文采用LIBMF对用户–物品评分矩阵进行分解处理,旨在提取用户和物品的潜在特征向量,并将这些预计算得到的潜在特征作为算法中用户和物品嵌入层的初始化参数,在后续均以
和
来表示用户以及物品的潜在特征。
3.2. 用户以及物品的评论约束
在现实生活中,用户可能会对浏览、点击、购买过的物品进行评论,评论中包含了用户对物品的功能、质量等方面是否满意的信息。对于用户而言,物品的描述性信息具有同等的重要性,尤其是在面对不熟悉的物品时,这类信息往往是吸引用户注意力的关键因素。此外,当某些新型物品缺乏与用户的交互记录时,详尽的物品描述能够补充提供必要的项目信息,即便是在数据稀缺的情况下,也能增强用户对物品的理解和兴趣,从而提高用户的体验和满意度。因此本文将评论信息结合物品的描述作为一种用户对物品的偏好约束,并利用预训练的BERT模型来处理文本数据。
Figure 2. Schematic diagram of review constraint feature encoding module
图2. 评论约束特征编码模块示意图
假设某个用户u,他的所有评论物品为
,假设物品i收到的所有评论文本为
,即有m个用户对该物品有过评论。在review_encoder模块中,如图2所示,其中
表示向量拼接操作。将物品的所有的评论输入进BERT中,取BERT中的[CLS]标记位得到评论的隐藏表示H,取所有评论的隐表示的平均值,并将该物品的描述信息
输入进BERT中,得到物品描述的隐藏表示。最后,将二者进行拼接操作,得到物品i的特征
,如公式(2)所示。
(2)
随后利用嵌入技术将用户的ID嵌入到与物品的特征相同维度的空间中,得到用户的嵌入向量
,并与物品特征进行点积计算,得到用户u对物品i的特征的相关度
,
越大说明用户对物品的关注程度越高,用户对物品的喜爱程度也越高。将
通过Softmax进行归一化操作,并与
相乘得到每个物品加权后的特征,最后取所有物品的特征的平均值,作为用户的评论约束表示
。如公式(3)和(4)所示。
(3)
(4)
通过相同的操作,对物品i取其所有的评论用户,在这一部分仅利用评论信息,并通过review_encoder模块获得用户的评论特征,将物品ID嵌入到相同维度的空间中,并计算物品对于每个用户的吸引程度,最后获得物品的评论约束表示
。
3.3. 基于Kolmogorov-Arnold网络的评分预测
Kolmogorov-Arnold网络,简称为KAN,是一种基于Kolmogorov-Arnold表示定理设计的神经网络模型,和传统的MLP不同,KAN通过可学习的函数替代固定的激活函数,消除了对线性权重矩阵的依赖。
对于任意一个d变量的连续函数
都可以表示为单变量连续函数的两层嵌套叠加。具体而言,对于任意连续函数
,存在单变量连续函数
和
,都有公式(5),
(5)
其中,
为内部函数(架构中的第0层),
为外部函数(架构中的第1层),输入层为d个节点,隐藏层为
个节点,每个节点连接到所有的输入节点。每个隐藏节点应用一个单变量函数
,输出层接收隐藏层所有节点的输出,通过应用函数
并加权求和得到最终输出,如图3所示。对于多层的KAN网络,其向量化公式如(6)所示。
(6)
与MLP相比,除去了激活函数和参数矩阵的嵌套,而直接是非线性函数
的嵌套。非线性函数采用添加偏置函数控制的含参样条(spline)函数,如公式(7)所示。
(7)
其中,
起到对于激活函数的控制作用,另外基础函数
如公式(8)所示。
(8)
对于样条激活函数而言,其中B样条函数的权重参数
为可训练对象,如公式(9)所示。
(9)
本文将上述用户和物品的评论约束特征与用户以及物品的潜在特征拼接,之后利用KAN网络预测用户对物品的评分,如公式(10)所示。
(10)
为了优化模型参数以预测显示评分,本文选择了均方误差损失函数如公式(11)所示,因为它能够有效衡量预测评分与真实评分之间的差异,并适用于这种点对点的回归任务[29]。
(11)
其中,
表示用户u对物品i的预测评分,
为真实评分,u和i均属于训练集中的数据。
Figure 3. Calculation diagram of KAN
图3. KAN计算示意图
4. 实验设计与分析
4.1. 数据集
Amazon Review Dataset公开数据集记录了用户对亚马逊网站各类产品的评价,本文选取其中Movies and TV数据集以验证所提出的算法。该数据集包含12万余用户对5万余物品的评分,评分区间为1至5,间隔为1,以及包含167万余条评论,为了节省计算资源和时间本文从该数据集中分别选取5000以及10000名用户的所有数据展开实验,在后续标记为Amazon-5000和Amazon-10000。本文将上述数据集按照80%,10%,10%的比例将数据集划分为训练集、验证集和测试集,每个算法仅基于训练集预测每个测试集中的所有评分数据,并重复随机选取五次,进行折五验证,最终结果取所有实验的平均值。
4.2. 评价指标
本文使用平均绝对误差(Mean Absolute Error, MAE)、均方根误差(Root Mean Square Error, RMSE)来评估评分预测的误差。MAE反映了算法预测评分与用户实际评分之间的偏差,RMSE表示预测用户评分与实际评分之间偏差的均方根值。它们的定义如公式(12)和(13)所示。
(12)
(13)
在进行Top-K推荐时,仅预测未知的评分是不够的,推荐系统还需要根据预测的结果过滤出用户喜欢的项目并进行排序,从而生成推荐列表。在本文的工作中使用归一化折损累计增益(Normalized Discounted Cumulative Gain, NDCG)和半衰期效用指标(Half Life Utility, HLU) [30]来评估推荐列表的排序性能,NDCG如公式(14)和(15)所示,HLU如公式(16)所示。
(14)
(15)
在NDCG中,b为影响力因子,在本实验中设置为2。N表示推荐列表中项目个数,m表示推荐列表的数量。
为1表示用户喜欢某个项目,为0则表示用户不喜欢某个项目,该指标越大说明排序性能越好。
(16)
在HLU中,h表示半衰期阈值,在本文的实验中设置为2,d是用户的中性评价,本文按照用户的平均评分进行计算。
精确率(Precision)、准确率(Accuracy)和召回率(Recall)通常用来衡量推荐算法的分类性能,其公式如(17)、(18)和(19)所示。
(17)
(18)
(19)
4.3. 基线算法
为了评估本文提出的RCKAN的性能,本文将其与其他基线算法进行了上述评价指标的比较。所有算法均取其论文中的最优指标。
(1) LIBMF通过矩阵分解技术,将用户–物品评分矩阵分解为两个低维矩阵,从而预测未知评分。
(2) DSS [31]通过计算两个项目之间的评分差异来表示用户间的距离,并通过皮尔逊系数计算用户间的相似度,通过相似度大于设定的阈值来选取用户的邻居从而预测评分。
(4) PETER使用Transformer架构,对用户和物品的ID进行建模,设计了一个上下文预测的任务来连接ID和评论文本,根据用户和项目ID同时产生推荐和生成解释。
(3) DELCR从嵌入技术中获得的稠密向量转为单独的深度神经网络,从而形成用户和物品的双塔结构,并且将用户与物品的内积集成到神经网络的输出层从而预测评分。
(5) RCKAN为本文提出的算法,本文将潜在特征的大小设置为300,使用Adam优化器来调整模型的参数,学习率设置为[0.001, 0.005, 0001],批次大小设置为[16, 32, 64, 128],KAN网络的层数设置为[2, 3, 4],隐藏层神经元个数设置为[900, 600, 300, 100],在上述设置中寻找模型的最优参数。
4.4. 实验结果与分析
4.4.1. 各指标对比结果
各算法在Amazon-5000和Amazon-10000数据集中的MAE和RMSE结果对比如表1所示,其中表现最佳的值以黑体加粗标出,后续也用此形式表示最优值。整体而言,RCKAN的MAE值和RMSE值在两个数据集上相较于其他基线算法均达到了最优。其中,在Amazon-5000中,RCKAN的MAE值与RMSE值分别为0.7934和1.0663,相较于其他基线算法分别平均降低了5.47%和9.61%。在Amazon-10000中,RCKAN的MAE值与RMSE值分别为0.7612和1.0339,相较于其他基线算法分别平均降低了5.42%和9.38%。
Table 1. Comparison results of MAE and RMSE for each algorithm
表1. 各算法在两个数据集中的MAE和RMSE的对比结果
Methods |
Amazon-5000 |
Amazon-10000 |
MAE |
RMSE |
MAE |
RMSE |
LIBMF |
0.8207 |
1.0960 |
0.7888 |
1.0475 |
DSS |
0.8606 |
1.2301 |
0.8337 |
1.2016 |
PETER |
0.9022 |
1.2395 |
0.8635 |
1.2088 |
DELCR |
0.8087 |
1.0842 |
0.7757 |
1.0531 |
RCKAN |
0.7934 |
1.0663 |
0.7612 |
1.0339 |
表2显示了各算法的NDCG和HLU在两个数据集上的结果对比,NDCG和HLU均用于衡量推荐列表的排序性能。在两个数据集中,PETER在NDCG指标上均取得了最好成绩,表明其在排序相关性方面表现卓越,DSS在HLU指标上表现最佳,体现了其在推荐列表准确性方面的优势。RCKAN的NDCG值分别为0.7171和0.7244,在NDCG指标中排名第二,略低于PETER,与排名第一的PETER平均相差0.74%。HLU值分别为0.7478和0.7641,在HLU指标中排名第三低于DSS与PETER,其中DSS要显著优于其他算法,说明其能够将用户真正感兴趣的项目排在推荐列表的较前位置,提升了用户发现这些项目的概率。
表3显示了各算法在分类指标上的对比结果,其中LIBMF、DSS以及PETER在召回指标上表现较差,RCKAN在两个数据集上的Recall值均排名第一,DECLR的召回指标与RCKAN接近,比RCKAN平均低2.87%,说明本文提出的算法能够为用户识别并推荐更多的目标项目。在Accuracy指标中,RCKAN仍排名第一,略高于DELCR,在两个数据集中的整体提升分别为2.11%和2.18%。Precision指标中排名第一的是LIBMF,比RCKAN平均高出2.89%,说明RCKAN在精准识别用户真实偏好的物品方面,仍存在一定的局限性。
Table 2. Comparison results of NDCG and HLU for each algorithm
表2. 各算法在两个数据集中的NDCG和HLU的对比结果
Methods |
Amazon-5000 |
Amazon-10000 |
NDCG |
HLU |
NDCG |
HLU |
LIBMF |
0.7018 |
0.5530 |
0.7069 |
0.5939 |
DSS |
0.7052 |
1.0829 |
0.7008 |
1.0127 |
PETER |
0.7214 |
0.9283 |
0.7309 |
0.9367 |
DELCR |
0.6829 |
0.6319 |
0.6884 |
0.6434 |
RCKAN |
0.7171 |
0.7478 |
0.7244 |
0.7641 |
Table 3. Comparison results of classification metrics for each algorithm
表3. 各算法在两个数据集中分类指标的对比结果
Methods |
Amazon-5000 |
Amazon-10000 |
Accuracy |
Precision |
Recall |
Accuracy |
Precision |
Recall |
LIBMF |
0.5734 |
0.6425 |
0.5140 |
0.5956 |
0.6458 |
0.5196 |
DSS |
0.5767 |
0.6138 |
0.5491 |
0.6008 |
0.6112 |
0.5442 |
PETER |
0.5383 |
0.5726 |
0.5041 |
0.5414 |
0.5781 |
0.5096 |
DELCR |
0.5814 |
0.5959 |
0.6869 |
0.6022 |
0.6041 |
0.6902 |
DPFLE |
0.5886 |
0.6216 |
0.7049 |
0.6068 |
0.6307 |
0.7118 |
整体实验结果如图4所示,本文提出的RCKAN在MAE、RMSE、Accuracy以及Recall这四个指标上均取得了最好的效果。实验结果显示,RCKAN相比于其他基线算法拥有更好的预测精度,说明用户的评论中蕴含了丰富的隐式反馈和细致的个人情感信息,这些信息能够揭示用户对特定物品的具体偏好,通过充分利用用户对于物品的评论信息,不仅有利于增强算法的预测精准度,而且在准确率和召回率指标上也有可观的提升。然而,在推荐列表的排序性能方面RCKAN表现并不出色,对项目之间的相对重要性区分能力较弱,导致高价值项目的排名可能不够突出。
Figure 4. Overall experimental comparison of algorithms
图4. 各算法在两个数据集中的总体实验对比图
4.4.2. 实验分析
表4展示了在RCKAN中是否利用物品的描述信息的MAE与RMSE对比结果,其中RCKAN-desc表示在计算用户评论约束时,不添加额外的物品描述。通过实验结果可知,添加了物品描述的RCKAN算法比仅利用评论信息的RCKAN-desc的MAE与RMSE均要更低,其中MAE平均降低了2.51%,RMSE平均降低了1.97%,说明利用物品描述信息来充实物品属性,可以更准确地匹配用户的偏好,从而有效提高推荐算法的准确度。
Table 4. The impact of adding item descriptions on experimental results
表4. 添加物品描述对实验结果的影响
Methods |
Amazon-5000 |
Amazon-10000 |
MAE |
RMSE |
MAE |
RMSE |
RCKAN-desc |
0.8132 |
1.0871 |
0.7814 |
1.0533 |
RCKAN |
0.7934 |
1.0663 |
0.7612 |
1.0339 |
图5显示了利用KAN神经网络与传统的MLP的评分预测误差对比结果,其中RCKAN-MLP表示在评分预测阶段使用MLP替代KAN,RCKAN-desc-MLP表示计算用户评论约束时,不添加额外的物品描述并且在预测阶段使用MLP。由实验结果可知,RCKAN-MLP在两个数据集中的MAE值分别为0.8028和0.7701,RMSE值分别为1.0885,1.0564,利用KAN网络进行评分预测和MLP相较,MAE平均降低了1.17%,RMSE平均降低了2.09%,说明KAN网络通过可学习的函数替代固定的激活函数,将网络边缘的每个权重参数通过样条函数形式替换,通过局部结构组合表示任意复杂的非线性函数使其具备更强的表示复杂关系的能力,在预测用户对物品的评分任务上拥有更优的表现,并且增强了模型的可解释。本文还探索了不同隐藏层个数对实验结果的影响,结果显示当隐藏层为2时,KAN与MLP均达到最优效果,当隐藏层个数增加时,二者的MAE和RMSE均有不同幅度的上升,其中当KAN的隐藏层为2时比其他隐藏层个数的MAE和RMSE在两个数据集中分别平均低2.21%和2.45%,说明当网络层数过深时,层间的变换数量增多可能导致学习到的表示变得过于复杂。过多的非线性变换可能会过拟合训练数据,从而削弱模型的泛化能力。
Figure 5. Comparison results of KAN and MLP in rating prediction tasks
图5. KAN与MLP在评分预测任务中的对比结果
5. 总结与展望
针对推荐系统准确性不足以及冷启动问题,本文利用用户评论数据的同时还引入物品的描述文档,利用BERT对本文数据进行编码,将用户与物品的评论约束特征与通过矩阵分解得到的潜在特征相融合,并在评分预测任务中利用Kolmogorov-Arnold神经网络进行特征学习。实验结果表明,在预测精度以及准确率、召回率等方面,本文所提出的方法相较于一些先进的算法有明显的提升。
在未来,本文考虑引入更先进的排序学习算法来优化推荐项目的排序,从而进一步提升用户体验,同时探索如何有效融合其他多模态数据如图像、视频等,以更全面地捕捉用户偏好和物品特征,从而提高推荐的精准性和多样性。
NOTES
*通讯作者。