科研学习|论文解读——一种修正评分偏差并精细聚类中心的协同过滤推荐算法

知网链接

一种修正评分偏差并精细聚类中心的协同过滤推荐算法 - 中国知网 (cnki.net)

摘要

 协同过滤作为国内外学者普遍关注的推荐算法之一,受评分失真和数据稀疏等问题影响,算法推荐效果不尽如人意。为解决上述问题,本文提出了一种改进的聚类协同过滤推荐算法。首先,该算法利用无监督情感挖掘技术将评论情感映射为一个固定区间中的值,通过加权修正用户评分偏差;随后,构建修正后用户-产品评分矩阵的数据场,利用启发式寻优算法计算最佳聚类数和最优初始聚类中心,进而对用户进行划分聚类,结合最近邻用户相似性与评分产生推荐;最后,基于三个自建真实数据集对所提算法性能和有效性进行全面评估。实验结果表明,改进算法在Precision精度、Recall召回率和F1-Score评价指标上的表现均优于其它算法,能够有效应对数据稀疏,提升推荐系统的推荐效果。

1.引言

近年来,推荐系统作为传统搜索引擎的重要补充,成为帮助用户专注有用信息和缓解信息过载的重要工具,而协同过滤是个性化推荐系统中使用最普遍的推荐算法[1]。为应对协同过滤算法的数据稀疏性等问题,既有研究往往结合聚类[2]、回归[3, 4]、图[5]等算法或矩阵分解[6]、多模态数据融合[7]、矩阵填充[1]等技术进行组合推荐。在聚类算法方面,划分聚类算法因具有准确率高和可操作性强等优点常被学者加以改进后对用户进行聚类。

针对划分聚类算法存在不足,既有研究主要利用手肘法[8]、轮廓系数[9]、谱聚类[10]、粗聚类[11]等算法进行改进。尽管上述改进算法在一定程度上提升了基于划分聚类的协同过滤推荐(Divide Clustering-based Collaborative Filtering Recommender, DC-CFR)算法的推荐效果,但仍存在以下不足值得进一步研究:(1)评分失真且评分区分度小。现有产品评分多为“5星评价”,离散有限数值往往难以准确量化用户真实喜好[12],而这种偏差会进一步影响用户聚类中高维稀疏评分向量间的空间距离测算,影响DC-CFR算法表现。此外,受从众效应和可得性效应影响,用户评分分布较为集中[13, 14],信息量小,通过空间距离或相关系数比较用户间异同的难度增大;(2)初始聚类中心随机。自由参数问题是划分聚类算法的主要缺陷。相比于最佳聚类数的确定,初始聚类中心的选择较少被讨论和研究。而随机初始聚类中心不仅易使聚类结果陷入局部最优,而且会增加聚类迭代次数,累积数据稀疏造成的用户聚类偏差,影响DC-CFR算法推荐效果。

鉴于此,本文提出一种基于评论情感挖掘与数据场聚类的协同过滤推荐算法(Comment Sentiment Mining and Data Field Clustering-based Collaborative Filtering Recommender, CSM-DFC-CFR),该算法首先利用高频词性路径规则等无监督情感挖掘技术量化评论情感来修正用户-产品评分矩阵中的评分,然后利用数据场算法计算划分聚类自由参数的取值,接着通过基于相似用户的聚类协同过滤推荐算法生成产品推荐列表,最后在三个真实数据集上进行实验,验证改进算法的推荐效果。

2.基于划分聚类的协同过滤推荐算法

3.基于评论情感挖掘与数据场聚类的协同过滤算法(参考原文)

3.1 评论情感挖掘

3.2 数据场算法

3.3 改写的协同过滤推荐算法

3.3.1 算法模型构建

3.3.2 算法描述

3.3.3 算法流程

4.实验设计与结果讨论

4.1 数据来源与处理

遵循网站robots协议,利用爬虫采集了某知名电商平台1190个类目下153129个商品的评分及评论文本(2015/6/17~2020/5/9) ,从中随机抽取三组数据作为实验数据集,分别占原始评分数据的0.8%(数据集1)、0.9%(数据集2)和1.1%(数据集3)。同时,剔除历史评分总数为0的用户行和产品列,并按用户评分时间先后将前80%数据作为训练集,后20%数据作为测试集,以供模型训练使用。实验数据集描述如表2所示。

4.2 评价指标与对照算法

采用Precision(公式(15))、Recall(公式(16))和F1-Score(公式(17))共三种常见评价指标[鑫1] 对算法推荐效果进行评价[15, 22, 23]。特别的,所有评价指标均依据产品推荐列表R(u)和测试集用户选择列表T(u)计算得出。

关于对照算法,选择基于用户的协同过滤推荐(U-CFR) 算法、基于K-means的协同过滤推荐 (KM-CFR) 算法、融合Canopy和K-means的协同过滤推荐 (CKM-CFR) 算法、基于评论情感挖掘的协同过滤推荐 (CSM-CFR) 算法、基于数据场聚类的协同过滤推荐 (DFC-CFR) 算法以及本文所提算法 (CSM-DFC-CFR) 共六种算法在三个实验数据集上进行实验,所有实验结果为1折15次交叉实验结果的平均。

4.3 实验结果

4.3.1 参数影响

对于评分修正幅度Δ,分别取Δ为0.1、0.2、0.3、0.4和0.5,探讨Δ最佳取值。由图2可知,CSM-DFC-CFR算法精度在Δ=0.4时最优(召回率也相对较优),算法表现最佳。

图2  不同评分调整幅度Δ对CSM-DFC-CFR算法精度影响

对于最近邻域大小|Nu|,很容易理解,最近邻数量增加会降低目标用户与邻居之间的评分相似度,如果取值过大势必会影响算法表现。参照文献[24],将所有算法最近邻域大小取值为5。此外,参照文献[25]令各算法推荐列表长度z=15。

4.3.2 不同算法性能比较

不同对照算法在三个测试集中的1折15次Precision、Recall和F-measure表现如图3[鑫1] 所示。对比U-CFR算法和CSM-DFC-CFR算法的两种变体算法(CSM-CFR和DFC-CFR)的结果发现,评论情感挖掘修正用户评分和数据场聚类方法均能提升协同过滤算法的性能,且数据场聚类的方法对算法推荐效果提升更大。此外,进一步对比CSM-DFC-CFR和它的两种变体算法,我们发现,评论情感挖掘修正用户评分和数据场聚类两种方法的结合要比任意一种方法对算法推荐性能的提升效果都要明显。对比U-CFR、KM-CFR、CKM-CFR和CSM-DFC-CFR算法,结果表明,本文所提CSM-DFC-CFR算法在三个不同评价指标上推荐性能均最佳,CKM-CFR算法次之,而KM-CFR和U-CFR算法较差。

图3  不同测试集中推荐算法的性能表现

4.3.3 算法有效性分析

为充分证明本文所提算法的有效性,进一步利用Kruskal-Wallis检验方法对CSM-DFC-CFR与U-CFR、KM-CFR、CKM-CFR和CSM-CFR[鑫1] 算法的1折15次交叉验证结果进行了组间差异比较。结果(表3)表明,在P=0.05置信区间上,各测试集CSM-DFC-CFR算法的性能表现均显著优于其它对照算法 (p<.05)。还发现,尽管CSM-DFC-CFR与DFC-CFR算法在各评价指标结果之间并不存在显著组间差异,但平均而言,CSM-DFR-CFR的Precision、Recall和F1-score均优于DFC-CFR。以上结果充分证明了本文所提推荐算法的有效性,算法的优化思路与实际数据相吻合。

5 结语

针对当前DC-CFR算法存在的评分失真和区分度小以及自由参数问题,提出了一种基于评论情感挖掘和数据场聚类的协同过滤推荐算法。其中,评论情感挖掘是指利用无监督情感挖掘技术对评论整体情感进行量化,通过加权方式修正用户评分,以提升评分区分度 (细化了评分粒度),缩小评分与用户真实喜好之间的偏差。数据场聚类是指利用数据场计算最佳聚类数和最优初始聚类中心,对用户进行划分聚类,以缩小最近邻域检索范围,优化高维数据聚类表现。三个真实数据集的实验结果表明,与其它算法相比,本文所提算法在Precision、Recall和F1-Score指标上的表现均最优。

本文不足之处在于未处理虚假用户评论,即假定评论中不存在不实消费经历及对商品实体的鼓吹或诽谤[26],未来将考虑运用文体或元数据特征识别并剔除虚假评论,对本文算法进行改进。

参考文献

  • [1] 向小东,黄飘,邱梓咸.基于综合相似度加权Slope One算法的协同过滤算法[J].统计与决策,2020,36(24):10-14.
  • [2] Li J, Zhang K, Yang X, et al.Category preferred canopy–K-means based collaborative filtering algorithm[J]. Future Generation Computer Systems,2019,93:1046-1054.
  • [3] 陈爱霞,李宁.基于极速学习机和最近邻的回归推荐算法[J].河北大学学报(自然科学版),2017,37(06):662-666.
  • [4] 谢国民,张婷婷,刘明,等.基于SDAE特征表示的协同主题回归推荐模型[J].计算机工程与科学,2019,41(05):924-932.
  • [5] ZENGIN ALP Z, GüNDüZ ÖĞüDüCü Ş. Identifying topical influencers on twitter based on user behavior and network topology[J]. Knowledge-Based Systems,2018,141:211-221.
  • [6] Hammou B,  Lahcen A, Mouline S. An effective distributed predictive model with Matrix factorization and random forest for Big Data recommendation systems[J]. Expert Systems with Applications,2019,137:253-265.
  • [7] Natarajan S, Vairavasundaram S, Natarajan S,  et al.Resolving data sparsity and cold start problem in collaborative filtering recommender system using Linked Open Data[J]. Expert Systems with Applications,2020,149:113248.
  • [8] 王建仁,马鑫,段刚龙.改进的K-means聚类k值选择算法[J].计算机工程与应用,2019,55(08):27-33.
  • [9] 马鑫,段刚龙,王建仁,等.基于改进轮廓系数法的航空公司客户分群研究[J].运筹与管理,2021,30(01):140-146.
  • [10] 张文,崔杨波,李健,等.基于聚类矩阵近似的协同过滤推荐研究[J].运筹与管理,2020,29(04):171-178.
  • [11] 唐泽坤,黄柄清,李廉.基于改进Canopy聚类的协同过滤推荐算法[J].计算机应用研究,2020,37(09):2615-2619+2639.
  • [12] 王红霞,陈健,程艳芬.采用评论挖掘修正用户评分的改进协同过滤算法[J].浙江大学学报(工学版),2019,53(03):522-532.
  • [13] Liu Q, Karahanna E. The dark side of reviews: The swaying effects of online product reviews on attribute preference construction[J]. MIS Q,2017,41(2):427-448.
  • [14] Lee S, Ha T, Lee D, et al. Understanding the majority opinion formation process in online environments: an exploratory approach to Facebook[J]. Information Processing & Management,2018,54(6):1115-1128.
  • [15] 马鑫,王芳.融合类目偏好和数据场聚类的协同过滤推荐算法研究[J].现代情报,2023,43(01):6-18.
  • [16] Yang H, Suh Y. Sentiment analysis of online customer reviews for product recommendation: comparison with traditional cf-based recommendation[J]. Korea Management Information Society Conference,2015:801-805.
  • [17] Luo R, Xu J, Zhang Y, et al.Pkuseg: A toolkit for multi-domain chinese word segmentation[J].arXiv preprint arXiv:190611455,2019.
  • [18] 周清清,章成志.在线用户评论细粒度属性抽取[J].情报学报,2017,36(05):484-493.
  • [19] 张乐,闫强,吕学强.面向短文本的情感折射模型[J].情报学报,2017,36(02):180-189.
  • [20] 李德毅.信息安全技术的发展及其对公共安全的影响[J].计算机安全,2002(01):15-19.
  • [21] 淦文燕,李德毅,王建民.一种基于数据场的层次聚类方法[J].电子学报,2006,34(02):258-262.
  • [22] 熊回香,李晓敏,杜瑾.基于学术关键词与共被引的学者推荐研究[J].情报学报,2021,40(07):725-733.
  • [23] Deng J, Guo J, Wang Y. A Novel k-medoids clustering recommendation algorithm based on probability distribution for collaborative filtering[J]. Knowledge-Based Systems,2019,175:96-106.
  • [24] 韦素云,肖静静,业宁.基于联合聚类平滑的协同过滤算法[J].计算机研究与发展,2013,50(S2):163-169.
  • [25] Afoudi Y, Lazaar M, AI Achhab M. Hybrid recommendation system combined content-based filtering and collaborative prediction using artificial neural network[J]. Simulation Modelling Practice and Theory,2021,113:102375.
  • [26] 马鑫,王芳,段刚龙.面向电商内容安全风险管控的协同过滤推荐算法研究[J].情报理论与实践,2022,45(10):176-187.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/454411.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

web项目的搭建

使用Webstorm并创建Next.js文件 1、配置nodejs环境、安装webstorm【配置node.js可以使用nvm去管理nodejs的版本】 2、需要破解webstorm&#xff0c;可能会导致原本的idea失效&#xff0c;注册码过期 3、taobao的npm过期&#xff0c;导致npm is sass执行不成功&#xff0c;需…

openAI key 与ChatGPTPlus的关系,如何升级ChatGPTPLus

一、前言 先详细介绍一下Plus会员和Open API之间的区别&#xff1a; 实际上&#xff0c;这两者是相互独立的。举例来说&#xff0c;虽然您开通了Plus会员&#xff0c;并不意味着您就可以使用4.0版本的API。尽管这两个账户可以是同一个&#xff0c;但它们是完全独立的平台。 …

Linux信号机制(二)

目录 一、信号的阻塞 二、信号集操作函数 三、sigprocmask函数 四、pause函数 五、sigsuspend函数 一、信号的阻塞 有时候不希望在接到信号时就立即停止当前执行&#xff0c;去处理信号&#xff0c;同时也不希望忽略该信号&#xff0c;而是延时一段时间去调用信号处理函数。…

媒体单位专用小记者报名及各类活动报名系统介绍

媒体单位专用小记者报名及各类活动报名系统介绍 小记者活动鼓励孩子们关注生活和社会&#xff0c;丰富成长体验&#xff0c;开启心智&#xff0c;淬砺思想。这不仅有助于提高他们的理性思辨力&#xff0c;还能培养他们的社会责任感和公民意识。小记者活动为学生提供了一个全新…

[密码学]OpenSSL实践篇

背景 最近在写Android abl阶段fastboot工具&#xff0c;需要我在Android代码中实现一些鉴权加解密相关的fastboot命令&#xff0c;里面用到了OpenSSL。我们先来实践一下OpenSSL在Linux系统中的指令。 OpenSSL官方网站&#xff1a;OpenSSL 中文手册 | OpenSSL 中文网 1. 查看…

VMware下创建虚拟机

Centos7是比较常用的一个Linux发行版本&#xff0c;在国内的使用比例比较高 安装完VMware一定要检查虚拟网卡有没有安装成功&#xff0c;如果没有VMnet1和VMnet8 虚拟机是无法上网的&#xff0c;就需要卸载重启电脑重新安装 控制面板—网络和Internet—网络连接 快捷方式打开&a…

【原创】[新增]ARCGIS之土地报备Txt、征地Xls格式批量导出Por旗舰版

一、软件简介 2024年新增旗舰版软件&#xff0c;本软件全新界面开发&#xff0c;保留原有软件功能及一些使用习惯&#xff0c;并集成了现已有的所有定制格式的支持&#xff0c;并增加自定义格式的导出&#xff1b;做到1N2&#xff08;即为1种通用版本N种定制格式导出txt、Xls&a…

牛客Highway

题目大意 在ICPCCamp中&#xff0c;有n个方便编号的城镇&#xff0c;编号为1,2,...,n&#xff0c;它们之间通过&#xff08;n-1&#xff09;条道路相连。连接第i个城镇a_i和b_i的道路的长度为c_i。保证任意两座城市之间只能通过道路到达。 Bobo希望修建&#xff08;n-1&#…

2024-03-13 作业

网络编程&#xff1a; 1.思维导图&#xff1a; 2.上课写的代码&#xff1a; 2.1网络字节序与主机字节序转换 运行代码&#xff1a; #include <myhead.h> int main() {int num 0x12345678;short int value 0x1234;int num_n htonl(num);int value_n htons(value);…

leetcode刷题(javaScript)——分治思想(二分查找、快速排序)相关场景题总结

分治思想是一种将问题分解成更小的子问题&#xff0c;然后解决子问题并将结果合并的算法设计策略。二分查找、快速排序和折半查找都属于分治思想的经典算法。在leetcode里&#xff0c;分治思想一般结合其他场景出现&#xff0c;构成复合型题目。但是在看题时一定要了解能否用分…

【数据结构取经之路】快速排序的非递归实现

概述 递归实现快速排序在一些场景下有栈溢出的风险&#xff0c;下面就谈谈如何用非递归的方法实现快速排序。 非递归实现的思想 递归实现与非递归实现快速排序的本质是一致的&#xff0c;效率并不会因为用了非递归实现而有所提升。递归实现快速排序的本质就在于通过递归&…

MinIO权限提升漏洞CVE-2024-24747详细解决办法

漏洞名称&#xff1a; MinIO权限提升漏洞(CVE-2024-24747) 漏洞简介 2024年2月2日&#xff0c;深瞳漏洞实验室监测到一则MinIO 存在权限提升漏洞的信息&#xff0c;漏洞编号&#xff1a;CVE-2024-24747&#xff0c;漏洞威胁等级&#xff1a;高危。 该漏洞是由于用户创建的访…

【C语言_函数栈帧_复习篇】

目录 一、什么是函数栈帧 二、什么是栈 三、相关寄存器 四、相关汇编命令 五、 解析函数栈帧的创建和销毁 一、什么是函数栈帧 在每一次函数调用之前编译器都会提前在内存的栈区为被调用的函数开辟一块空间&#xff0c;这块空间被称为该函数的函数栈帧&#xff0c;这些空间…

springboot269反欺诈平台的建设

反欺诈平台设计与实现 摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装反欺诈平台软件来发挥其高效地信息处…

使用python实现一个dicom影像解析入库程序demo

简介 DICOM&#xff08;Digital Imaging and Communications in Medicine&#xff09;是医学图像和相关信息的国际标准。它定义了医学影像的格式和通信协议&#xff0c;使得不同设备和系统之间可以交换和共享医学图像和相关数据&#xff0c;如CT扫描、MRI图像、超声波图像等。…

19.创建帖子

文章目录 一、建立路由二、开发CreatePostHandler三、编写logic四、编写dao层五、编译测试运行 一、建立路由 这里要稍微注意的是&#xff1a;需要登录后才可以发表帖子&#xff0c;所以需要用到我们之前写的鉴权中间件。中间件对用户携带的token解析成功后&#xff0c;便会将…

【网络工程师进阶之路】BFD技术

个人名片&#xff1a;&#x1faaa; &#x1f43c;作者简介&#xff1a;一名大三在校生&#xff0c;喜欢AI编程&#x1f38b; &#x1f43b;‍❄️个人主页&#x1f947;&#xff1a;落798. &#x1f43c;个人WeChat&#xff1a;hmmwx53 &#x1f54a;️系列专栏&#xff1a;&a…

[AutoSar]BSW_Com013 CAN TP 模块配置

目录 关键词平台说明一、缩写对照表二、Functional Description&#xff08;vector&#xff09;2.1 Asynchronous and Synchronous behavior of CanTp_Transmit2.1.1 asynchronous 2.1.2 synchronous2.2 Separation Time by Application 三、CanTpChannels3.1 接收端3.2 发送端…

初识Python语言-课堂练习【pyhton123题库】

初识Python语言-课堂练习【pyhton123题库】 一、单项选择题 1、Guido van Rossum正式对外发布Python版本的年份是&#xff1a; A 2008B 1998C 1991D 2002 【答案】C 【解析】暂无解析2、下面不是Python语言特点的是&#xff1a;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪…

C++初阶:内存管理

目录 1. C/C中各种资源的内存分布1.1 C/C程序内存区域划分1.2 各资源的内存分布情况&#xff08;练习&#xff09; 2. C中的动态内存管理方式2.1 new/delete开辟内置类型空间2.2 new/delete开辟销毁自定义类型空间 3. operator new 与 operator delete函数4. new与delete的实现…