没有合适的资源?快使用搜索试试~ 我知道了~
软件影响13(2022)100292原始软件出版物DeepCARSKit:一个基于深度学习的上下文感知推荐库雍正美国伊利诺伊理工学院A R T I C L E I N F O关键词:推荐系统上下文感知深度学习神经网络开源库A B标准推荐系统的最新发展已经证明了深度学习在推荐算法中的有效性。有几个现有的开源库用于推荐研究,但不是在使用深度学习的上下文感知推荐领域。 因此,我们开发并发布了DeepCARSKit,这是一个开源的基于深度学习的上下文感知推荐库。DeepCARSKit支持在上下文感知推荐系统中专门设计的评估,它为研究人员提供了一个标准平台,以开发,执行和评估基于深度学习的不同上下文感知推荐模型代码元数据当前代码版本v1.0.0用于此代码版本的代码/存储库的永久链接https://github.com/SoftwareImpacts/SIMPAC-2022-35可再生胶囊的永久链接https://codeocean.com/capsule/2106725/tree/v5法律代码许可证MIT许可证使用Git的代码版本控制系统使用Python 3.7或更高版本、torch 1.7.0或更高版本以及RecBole 1.0.0版本的软件代码语言、工具和服务编译要求、操作环境依赖性https://github.com/irecsys/DeepCARSKit/blob/main/requirements.txt如果可用,链接到开发人员文档/手册https://carskit.github.io/问题支持电子邮件DeepCARSKit@Gmail.com1. 介绍推荐系统已经成功地应用于通过提供定制的项目推荐列表来辅助用户决策用户偏好。上下文感知推荐系统(CARS)[1,2]是一种新型的推荐系统。在CARS中,研究人员认为,用户的偏好可能会因上下文而异。例如,用户通常可能更喜欢动作片,但是他可以选择如果他和他的伴侣一起看电影,他会去看一部浪漫的电影。 或者,用户可能喜欢在周末观看3小时电影,但是他在工作日期间更喜欢短视频。在这两个示例中,同伴和时间可以被认为是对用户偏好或选择产生影响的有影响力的上下文变量或因素。因此,CARS的提出和发展,以适应用户的喜好,在不同的情况下的模型。2015年,我们发布了CARSKit [3],这是第一个用于上下文感知推荐的开源库。大多数算法在CARSKit中实现的协同过滤算法都是基于传统的协同过滤(CF)构建的,例如基于K-最近邻的CF [4,5],基于矩阵和张量分解的模型[6,7],以及基于稀疏线性方法的算法[8]。随着基于深度学习的推荐算法的进步和发展[9],已经提出了几种基于深度学习的上下文感知推荐方法,例如上下文感知神经协同过滤模型[10]。原始的CARSKit是一个基于Java的库,并且不能灵活地扩展以实现基于神经网络的CARS模型。因此,我们开发并发布了DeepCARSKit,这是一个基于深度学习的开源库,用于上下文感知推荐。DeepCARSKit为研究人员提供了一个标准平台,用于开发,执行和评估基于深度学习的不同上下文感知推荐模型。本文中的代码(和数据)已由Code Ocean认证为可复制:(https://codeocean.com/)。更多关于生殖器的信息徽章倡议可在https://www.elsevier.com/physical-sciences-and-engineering/computer-science/journals上查阅。电子邮件地址:yzheng66@iit.edu。https://doi.org/10.1016/j.simpa.2022.100292接收日期:2022年3月22日;接收日期:2022年4月6日;接受日期:2022年4月15日2665-9638/©2022作者。由Elsevier B.V.出版。这是一篇开放获取的文章,使用CC BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表软件影响杂志 首页:www.journals.elsevier.com/software-impactsY. 郑软件影响13(2022)1002922���,2. DeepCARSKitDeepCARSKit库基于Python,PyTorch和RecBole构建。Recbole [11]是一个统一的、全面的、有效的推荐算法框架. RecBole和DeepCARSKit之间的差异可以描述如下。• RecBole是一个推荐库,为不同类型的推荐提供支持,例如顺序推荐,基于知识的推荐等。Deep- CARSKit是专门为CARS构建的库• RecBole v1.0.0仅支持保留评估,而Deep-CARSKit还提供基于多重交叉验证的评估。• RecBole是一个库,它更多地关注具有隐式反馈的数据集。它不支持直接对基于评级的数据集进行排名评估。DeepCARSKit摒弃了RecBole中的负采样过程,同时支持CARS的评级预测和排名评估。• RecBole有一个上下文感知推荐模块。然而,RecBole对语境的定义和使用与CARS的研究并不一致[1,2].一方面,RecBole考虑用户人口统计信息(例如,年龄,性别,传统的推荐系统在进行商品推荐时,通常会向每个用户生成一个商品推荐列表。 根据合同,CARS提供一份推荐项目清单,对于特定上下文情形中的用户(例如, 时间、位置等)。在DeepCARSKit中,我们实现了N重交叉验证,并在CARS中提供一致的排名评估。的计算例查全率度量可以由算法1描述。更具体地说,DeepCARSKit从测试集中提取用户和上下文情况的唯一组合列表。对于每个条目(即,的组合用户和特定上下文),库可以产生要与同相同条目相关联的测试集中的基本事实相比较的最佳推荐,以便计算查全率。���一旦完成了对所有条目的迭代,库将返回平均召回率作为输出中报告的最终召回率。其他指标,如精度,NDCG,MRR,MAP,遵循相同的方式。算法1:DeepCARSKit中的召回度量召回= [];对于测试集中的每个唯一(用户,上下文),������,List =与测试集中的(u,c)相关联的项目的排序列表;,���������������List推荐列表=与(u,������������c);国籍等),项目特征(例如,电影类型,导演,ac-Recall = Recall(List,���������List);������������你,你,你���等)以及活动的属性(例如,时间地点return.append(return);���,伴侣等)作为上下文。正如CARS研究所指出的[2],端���,上下文应该独立于用户和项目,因此只有与活动相关的属性才能被视为上下文。其他信息,例如用户人口统计信息和项目特征,通常被称为推荐系统领域的边信息[12,13另一方面,这些不同的定义导致CARS中的评估不一致。更具体地说,CARS通常在特定的上下文情况下向用户推荐物品,例如,该系统可以为用户推荐周末与伙伴一起观看的电影列表。在这种情况下,在排名靠前的推荐中的相关性和排名度量的计算应该考虑这些上下文信息。然而,上下文感知推荐模块不支持这种评估策略,该评估策略是专门设计和安装在上下文感知推荐区域中的。因此,我们开发并发布了DeepCARSKit,它是专门为上下文感知推荐而设计和构建的。DeepCARSKit使用RecBole作为外部库,Deep-CARSKit中的框架可以通过图1描述。1.一、Dataset和DataLoader模块为上下文感知的数据集提供了基本的内部数据结构。 特别是,用户还可以自定义数据加 载 器 用 于 评 估 目 的 。 在 DeepCARSKit 中 , 我 们 创 建 了 Lableed-DataSortEvalDataLoader,在其中我们实现了用于上下文感知评估的数据加载器。它能够从评估数据中提取肯定和否定项(例如, 测试集),创建浴数据并将其发送给培训员进行评估。 整个工作流程在quick_start.py文件中定义,DeepCARSKit将读取配置文档,加载和拆分数据集,初始化和训练模型,并将评价结果传递给用户。训练器模块中的CARSTrainer连接数据集、模型和评估。更具体地,它能够训练预定义模型并评估训练集和测试集上的模型,其中对应的评估模块(即, 值或排名评估)可以在训练器中被调用以执行评估过程并计算评估度量。上面的框架类似于RecBole,而我们重用了几个模块,如数据和配置模块。 我们定制recall_final =平均值(召回)关于上下文感知推荐模型,我们计划基于自动编码器(AE),因子分解机(FM)[14]和神经协同过滤(NeuCF)[15]实现基于深度学习的CARS方法。在目前阶段,我们有两种FM模型的变体(即, FM [14],DeepFM [16])和库中实现的上下文感知NeuCF模型[10]的六个变体。基于AE的推荐模型将在我们未来的工作中实现。3. 如何使用DeepCARSKit库作为github存储库存储和更新。1我们计划在下一个版本中在pypi和conda平台上发布这个库。在目前阶段,用户可以下载源代码或从github上进行git克隆。用户应该安装相应的库依赖项(例如,Python、PyTorch、RecBole等)正如Github页面上提到的那样。之后,用户可以简单地执行run.py 有关CARS研究的更多可用数据集,用户可以参考CARSKit github页面。2上面运行的命令将执行run.py文件中的main函数。该过程将检测GPU是否可用于加速。在配置文件config.yaml中,使用GPU设置为DeepCARSKit仍然能够在CPU上运行,即使GPU在此“True "设置下不可用。然后,库将加载有关配置文件名称的命令参数在命令行中没有任何特定的输入,config.yaml将用作默认配置文件。接下来,正在运行的流程将被转发到quick_start.py文件中的run函数,在那里定义了整个工作流,如第2节所述。该库将继续读取配置,加载和拆分数据集,初始化,训练和评估模型,最后将评估结果作为命令行中的输出的 培训人员, DataLoaders 和 的 评价 模块 到 适应在CARS的实现。此外,该库还可以在排序评估中产生F11 https://github.com/irecsys/DeepCARSKit。2 https://github.com/irecsys/CARSKit。Y. 郑软件影响13(2022)1002923Fig. 1. DeepCARSKit的框架和主要组件。为了在自定义数据集上运行和执行DeepCARSKit,用户应该按照DeepCARSKit github页面上的说明以正确的格式准备数据。配置文件“con-fig. yaml "是供用户更改设置的单个文档(例如,数据集、模型名称、模型参数、评估策略和指标、GPU加速选项等)调整超参数有关设置和参数的解释在此配置文件中列出并提供。4. 影响DeepCARSKit主要专门用于上下文感知推荐。与CARSKit相比,它实现了基于深度学习和神经网络的更先进的上下文感知推荐模型。与RecBole相比,DeepCARSKit还提供了N重交叉验证,并支持基于评级数据集的排名评估。更重要的是,DeepCARSKit提供了一致的排名评估策略,专门为上下文感知推荐而设计,如第2节所述。之前的CARSKit库已经被全球40多个机构使用,我们期待DeepCARSKit能够带来一个新的平台来推进CARS的研究5. 今后的工作在目前阶段,我们只实现了基于FM和NeuCF的上下文感知推荐模型。更多基于其他神经网络结构的推荐模型(例如,自动编码器)将在我们未来的工作中添加竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作致谢首先,我们要感谢Google Cloud Platform的支持和资助GPU)来测试和评估这个库。此外,我们感谢RecBole开发团队,他们帮助我们澄清了原始RecBole库中的任何编码问题。引用[1]G.Adomavicius 湾 Mobasher , F. 利 玛 窦 A.Tuzhilin , Context-awarerecommendersystems,AI Mag.32(3)(2011)67-80.[2]Y.郑湾,澳-地Mobasher,上下文感知建议,在:协作建议:算法,实际挑战和应用,世界科学出版社,2018年,pp。173-202.[3]Y. 郑 湾 , 澳 - 地 莫 巴 舍 河 Burke , CARSKit : A java-based context-awarerecommendationengine , in : Proceedings of the 15th IEEE InternationalConference onData Mining Workshops,IEEE,2015.[4]Y.郑河,巴西-地伯克湾Mobasher, Differential context relaxation for context-awaretravel recommendation, in: E-Commerce and Web Technologies , in:Lecture Notes in Business Information Processing,Springer Berlin Heidelberg,2012,pp. 88比99[5]Y. 郑 河 , 巴 西 - 地 伯 克 湾 Mobasher , Recommendation with differentialcontextweighting,in:User Modeling,Adaptation,and Personalization,in:Lecture NotesinComputer Science,Springer Berlin Heidelberg,2013,pp. 152-164。[6]L. 巴尔特鲁纳斯湾 Ludwig,F. Ricci矩阵分解 技术 为 上下文感知推荐,见:第五届ACM推荐系统会议论文集,ACM,2011年,pp. 301-304[7]A. Karatzoglou , X. 阿 马 特 里 艾 因 湖 Baltrunas , N. Oliver , MultiverseDecomposition:n-dimensionaltensorfactorizationforcontext-awarecollaborative filtering , in : Proceedings of the Fourth ACM Conference onRecommender Systems,ACM,2010,pp. 79比86[8]Y. 郑 湾 , 澳 - 地 莫 巴 舍 河 Burke , CSLIM : ContextualSLIMrecommendationalgorithms , in : Proceedings of the 8th ACM Conference onRecommenderSystems,ACM,2014,pp. 301-304[9]S.张丽Yao,中国山核桃A.太阳,Y。基于深度学习的推荐系统:调查和新观点,ACM Comput。监视器52(1)(2019)1[10] M. Unger,A. Tuzhilin,A. Livne,基于深度学习框架的上下文感知建议,ACMTrans.Manag。告知。系统(TMIS)11(2)(2020)1-15。[11] 宽X Zhao,S.穆,Y. 胡,Z. Lin,Y. Chen,X. 潘,K. Li,Y. Lu,H. Wang,C.Tian 等 人 , Recbole : Towards a unified , comprehensive and efficientframeworkfor recommendation algorithms , in : Proceedings of the 30th ACMInternationalConferenceon Information &Knowledge Management , 2021 , pp.4653-4664。[12] Z. 孙 角 , 澳 - 地 Guo , J. Yang , H. Fang , G. Guo , J.Zhang , R. Burke ,Researchcommentary on recommendations with side information:A surveyand researchdirections,Electronic. Commer. Res. Appl. 37(2019)100879.[13] D. Rafaillivet,A.陈晓,陈晓生,等.网络推荐系统中用户偏好的动态建模.北京:计算机科学出版社,2000,11(3):117 - 118. 46(6)(2015)782-792。[14] S. Rendle , Factorization machines , in : 2010 IEEE International ConferenceonData Mining,IEEE,2010,pp. 995-1000[15] X.赫利湖,加-地廖氏H.张丽Nie,X.胡,T.- S. Chua,神经协同过滤,在:第26届万维网国际会议的会议记录,2017年,pp。173-182.[16] H.郭河,巴西-地唐,Y。是的Z Li,X. 他,DeepFM:一个基于因子分解机器的神经网络用于CTR预测,在:第26届国际人工智能联合会议论文集,AAAI出版社,2017年,第107页。1725-1731年。[17] Y. 郑 湾 , 澳 - 地 莫 巴 舍 河 Burke , Context recommendation using multi-labelclassification , in : Proceedings of the 13th IEEE/WIC/ACM InternationalConferenceon Web Intelligence,WI 2014,IEEE/WIC/ACM,2014。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功