详解推荐算法的架构流程今日头条

综上可以看出,单一的推荐算法存在或多或少的缺陷,譬如数据稀疏性问题、处理复杂属性困难等问题,尤其是当用户需要购买新物品时,其推荐效果不佳。为了解决这个问题,本文提出了一种基于知识图谱与内容的推荐算法。首先,解析用户记录并构建知识图谱,基于图谱嵌入计算得到实体与关系的相似度;其次,基于文本词嵌入对内容进行向量化表示,并构建算法对内容进行相似度计算;最后,本文融合了基于知识图谱的相似度算法和基于内容的相似度算法,通过权重计算选取得分高的值作为推荐结果。通过7折交叉验证的方法表明,在一个完备的推荐系统中,近邻数的选取并不是越大越好,而是应该进行适当的选择。通过对比验证的方法表明,在相同近邻数的情况下,本文提出的融合算法具有较高的召回率和准确率,这是由于本文的算法在基于内容的推荐算法基础上,利用知识图谱实体之间的多关系和属性进行了融合相似度计算,提升了算法的性能。

2.架构流程

2.1.推荐系统架构

图1.推荐系统整体架构图

2.2.基于内容的推荐算法流程

一般来说,基于内容的推荐算法包括以下三步[12]:

1)抽取该物品的一些特征用来表征这个物品;

2)根据用户的历史行为数据信息学习出用户感兴趣的物品的特征,即构造用户偏好文档;

3)比较步骤(2)得出的用户偏好文档和待推荐物品的特征(推荐项目文档),确定出关联性最大的一组物品作为推荐列表并将其推荐给用户。

本文中,基于内容的推荐算法流程如图2所示。

Figure2.Theprocedureofcontent-basedrecommendationalgorithm

图2.基于内容的推荐算法流程

2.3.基于知识图谱的推荐算法流程

基于知识图谱的推荐算法流程如图3所示。首先,根据物品知识及用户知识构建物品知识图谱,并将原有的物品信息及用户信息转化为三元组的形式;然后,对上述三元组进行知识表示,将构建好的物品知识图谱数据作为表示模型的输入;最后,计算求得物品的相似度,生成物品相似度矩阵,并依据相似度矩阵给出推荐列表。

Figure3.Theprocedureofrecommendationalgorithmbasedonknowledgegraph

图3.基于知识图谱的推荐算法流程

基于内容的推荐算法较为直观,但其对于复杂属性的项目较难处理。基于知识图谱的推荐算法通过知识图谱中实体之间丰富的关系能丰富项目和项目的联系、增强推荐算法的挖掘能力,适合处理属性复杂的项目,两者进行结合,可以有效解决数据稀疏性的问题和新物品的“冷启动”问题。

3.基于知识图谱与内容的推荐算法

基于知识图谱与内容的推荐算法如图4所示。包括三个部分:基于知识图谱的相似度计算,基于内容的相似度计算和基于权值的融合算法,其中输入为用户的喜好信息。在基于知识图谱的相似度计算部分,构建基于内容的知识图谱,并基于知识图谱嵌入计算得到实体与实体关系的相似度。在基于内容的相似度计算部分,基于文本词嵌入对内容进行向量化表示,并构建算法对内容进行相似度计算。在基于权值的融合算法部分,融合了基于知识图谱的相似度计算和基于内容的相似度计算结果,通过权重计算,选取准确率得分高的值作为推荐结果。

Figure4.Theframeworkofthealgorithmbasedonknowledgegraphandcontent

图4.基于知识图谱与内容的推荐算法框架

3.1.基于知识图谱的相似度计算

虽然不同用户对于同一种类型的物品的描述会有所不同,但是其表达语意大都类似。例如,对于电影《东邪西毒》,用户A认为它是武侠片,用户B认为它是动作片,这是因为武侠片和动作片时有部分交叠的。利用不同用户的偏好特征,挖掘其语义特征,能够更完善地对物品进行描述,将更有利于对用户感兴趣物品的判断。因此,本文利用概念知识图谱,通过对概念的文本及知识的语义描述,在知识图谱中发现相似的概念。

基于知识图谱的相似度计算方法如下:首先,根据物品知识及用户知识构建物品知识图谱,并将原有的物品信息及用户信息转化为三元组的形式,将这些三元组存储在知识图谱中,作为进一步的查询基础。然后通过TransE(TranslatingEmbeddings)模型对物品三元组进行知识表示,其中TransE模型以h+r≈th+r≈t为基本思想对实体和关系做低维空间映射[13],知识的表示嵌入如图5所示。如“金陵十三钗”向量为实体h,“电影类型”向量为关系r,“战争片”向量为实体t,因此可获得物品实体的低维稠密向量表示为eheh。

Figure5.AnexampleofalgorithmTransE

图5.TransE算法案例

根据以上算法,构建了知识图谱对物品的知识表示,计算了两个物品的相似度,由此可以生成一个物品相似度的矩阵。

3.2.基于内容的相似度计算

本文基于余弦相似度对物品向量的相似度做出评价,将用户对某个物品的在n个方面的评分当成一个n维向量值SniSni,则某个物品IiIi的评分向量为Ii={S1i,S2i,,Ski,,Sni}Ii={S1i,S2i,,Ski,,Sni},SkiSki代表物品第k个方面的评分向量值。同样地,物品IjIj的评分向量为Ij={S1j,S2j,,Skj,,Snj}Ij={S1j,S2j,,Skj,,Snj}。计算IiIi与IjIj的余弦相似度:

如果余弦相似度得到的值大,则说明两个物体间的相似度高,可推荐性就高;反之,余弦相似度的到的值越小,说明两个物体间的相似程度低,可推荐性小。

3.3.基于权值的融合算法

基于权值的融合算法结合基于知识图谱计算出的相似度与基于内容计算出的相似度,选择合适的权值进行算法融合,得到最终的综合相似度;最后,将综合相似度的结果作为是否推荐的依据。由于知识图谱中含有丰富的实体信息,而用户的文本信息中则蕴含了用户的偏好特征,故分别设置其加权系数为αα和ββ,αα和ββ的取值范围均在[0,1][0,1]之间,且α+β=1α+β=1,关于αα和ββ合适的取值需要通过大量的实验来获得。融合后的物品间相似度结果,如下式所示:

4.实验验证

4.1.数据集

实验将使用MovieLens电影数据集中的1M数据集来验证本文算法的准确性。构建电影知识图谱数据集引用TMDB数据集,TMDB是一个包含详细电影数据的数据库。其中,本文在构建电影知识图谱时只保留每部影视的主演实体,为降低图谱的构建复杂度,实验中构建电影知识图谱时控制每部电影演员的实体数量不多于5个。图6为使用TMDB数据集构建的知识图谱(局部)。不同颜色表示不同的节点类型,其中黄色节点为电影演员,蓝色节点为影片。演员作为父节点,电影作为子节点,父子节点用具体关系链接,大幅度减少从子节点到父节点的链接。

Figure6.Themoviegraphusedinexperiment

图6.构建完成的电影图谱

4.2.对比算法

本文选取以下具有代表性的推荐算法进行推荐性能对比:

1)深度知识注意力网络(DeepKnowledge-AwareNetworks,DKN):融合了实体嵌入和词嵌入,为每个输入新闻生成一个知识感知嵌入向量,然后对用户进行动态建模,其中物品和书籍的标题用于生成词嵌入,实体嵌入由TransH(TranslatingonHyperplanes)学习[8];

2)LibFM(LithiumBisFuoromalonato):将用户ID、商品ID以及从TransR(TranslatingRelations)获得的实体嵌入结合起来,作为LibFM的输入[4];

4.3.评估准则

在实验验证中,采用准确率和召回率进行推荐算法的性能评价。准确率(Precision,P)表示是预测用户感兴趣的物品为正确的结果的数量。计算公式为:

本文通过7折交叉验证的方法,在实验中随机选取70%的数据作为训练集,30%的数据作为测试集。由于基于知识图谱的相似度计算的精度是由节点的近邻数所决定的,近邻数越高,精确越低,但推荐结果越能覆盖用户感兴趣的物品。因此,为了求得最佳结果,分别取近邻数为5、10、25、50、70、100,并且重复进行10次取平均值作为最终结果。本文选取α=0.7,β=0.3α=0.7,β=0.3。

图7表示了不同近邻数下召回率的变化关系,随着近邻数的增加,召回率越来越高,意味着覆盖率越来越高。图8表示了不同近邻数下准确率的关系,随着近邻数的增加,准确率越来越低,意味着推荐

图7.构建完成的电影图谱

图8.不同近邻数下的准确率

结果的错误概率越来越高。从图7和图8中可以看出,当选取不同的近邻数时,推荐给用户的物品的召回率与准确率有所差异,这是由于当选取的近邻数越多时,对用户的偏好特征掌握越详细,因此推荐给用户的物品占用户所感兴趣的物品的比例会有所提升,但是当近邻数足够大时,对用户的偏好掌握已经足够,因此召回率会趋于平稳。但是当选取的近邻数越多时,相似的用户及物品也就越多,剔除掉用户曾经购买或点击过的物品,剩余的物品依旧数量庞大,用户点击或购买的物品占推荐物品的总数会有所下降,因此准确率会有所下降。可见,在一个完备的推荐系统中,近邻数的选取并不是越大越好,而是应该进行适当的选择。

4.5.对比实验

通过计算不同近邻数下的召回率和准确率来验证本文算法的性能。近邻数选择1、5、10、25、50、100,取10次结果并求平均值。实验结果如图9、图10所示。

Figure9.Therecallofdifferentnearestneighbor

图9.不同近邻数的召回率

Figure10.Theprecisionofdifferentnearestneighbor

图10.不同近邻数的准确率

图9展示了不同近邻数下的召回率。近邻数越多,召回率越高,意味着覆盖率越高。在相同近邻数下,本文所提算法的召回率均高于其它算法。图10展示了不同近邻数下的准确率。近邻数越多,准确率越低,这表明推荐的结果中出现错误推荐的数量越高。在相同近邻数下,本文算法的准确率均高于其他算法。这表明,利用实体之间的多关系和属性进行相似度计算能够提升算法的性能。由上图所示对比结果可以进一步看出:与其他算法相比,DKN的表现最差,这是由于DKN对实体的表征不明确,无法为个性化推荐提供有用的信息;PER算法的推荐结果良好,但是由于用户定义的元路径很难达到最佳,所以当近邻数达到一定程度时,PER算法的推荐性能作用有限;LibFM算法作为一种通用的推荐工具,在进行推荐时,准确率一直保持在较高水准,这表明LibFM算法可以很好地利用知识图谱的知识进行个性化推荐。而本文所提算法与上述推荐算法相比,当近邻数在100时召回率提升了约1%,准确率提升了约10%,说明本文算法是有效的。

5.结束语

本文提出了一种基于知识图谱与内容的推荐算法。利用用户数据解析内容并构建知识图谱,在知识图谱相似度计算和内容的相似度计算基础上,设计融合算法,完成对内容的启发式推荐。与通用算法的对比实验证明了本文算法具有较高的召回率和准确率。

后续研究开展可以考虑联合实体的多个关联关系及多跳关系,利用其他的Trans系列模型或者知识表示模型进行知识图谱实体嵌入,以更充分地学习实体的表示向量,描述实体的语义信息,实现更进一步的推荐。

THE END
1.推荐系统基本流程推荐算法流程图本文详细介绍了推荐系统的基本流程,涉及物品、用户、场景、搜索模型及排序算法。涵盖了召回模块、排序模块和后排模块的运作,以及常用的召回和排序模型。重点讲解了如何通过用户行为和特征计算个性化推荐,适合深入理解推荐系统技术的读者。 摘要由CSDN通过智能技术生成 https://blog.csdn.net/qq_56422229/article/details/124846254
2.推荐系统最新架构推荐系统功能流程图推荐系统最新架构 推荐系统功能流程图 推荐系统主要解决的是信息过载的问题,目标是从海量物品筛选出不同用户各自喜欢的物品,从而为每个用户提供个性化的推荐。推荐系统往往架设在大规模的业务系统之上,面临着用户的不断增长,物品的不断变化,并且有着全面的推荐评价指标和严格的性能要求(Netflix 的请求时间在 250 ms https://blog.51cto.com/u_16099304/8328916
3.设计算法.输入正整数n.计算它的阶乘n!.画出流程图.用for语句描述解:算法流程图如答图所示: 用for语句描述算法如下: 输入n; T:=1; for i:=1 to n do begin T:=T*i; end. 输出T. 练习册系列答案 创新教程系列答案 互动中考复习大讲义系列答案 中考阶段总复习ABC系列答案 达优测试卷系列答案 剑指中考系列答案 http://www.1010jiajiao.com/gzsx/shiti_id_77d21cec7625a12d71db452d984156ef
4.基于协同过滤推荐算法的购物网站的设计与实现(14页)1算法流程图系统算法流程图设计如图5.14所示。 3.2算法实现此功能模块是体现在评价成功后的页面上的,当用户购买成功并评价成功的时候, 系统会将所评论的商品以及评分与其他评分进行比较和分析,然后将算法算出的结果推 测为用户可能会喜欢的商品并推荐给用户,将推荐的商品显示在猜你喜欢的模块上。所 以该功能实现的https://max.book118.com/html/2020/0413/8100115027002106.shtm
5.用了很久的YouTubeApp之后,我写下了这份产品体验报告App信息结构图 3.3 基础流程 基础流程图 4、交互体验 4.1 UI界面 页面切换 YouTube App内的页面间切换方式为点击切换,不支持左右滑动切换。 导航设计 YouTube App主界面导航采用底部固定式选项卡菜单,共5个:首页、时下流行、订阅内容、收件箱、媒体库。 https://www.digitaling.com/articles/241247.html
6.工业界推荐系统排序技术要点总结,专注大模型、学术论文、算法实战、面经分享 工业界的推荐系统技术要点总结,从事推荐系统相关方向的同学都建议刷一刷。喜欢记得收藏、关注、点赞。文末提供搜广推技术交流群。 另外,随着大模型与搜广推各场景的融合越来越多,相关技术也是面试常考点,为此写了两本书进行总结,喜欢可以看看。 https://zhuanlan.zhihu.com/p/689894486
7.流程图制作软件哪个好?流程图制作软件推荐流程图绘制软件大全包含了业务流程图,程序流程图,工作流程图,数据流程图,生产工艺流程图,word流程图,采购流程图,信用证流程图,算法流程图,招聘流程图,化工工艺流程图,带控制点的工艺流程图,销售业务流程图,审批流程图,合成氨工艺流程图,酒店管理系统流程图,http://www.downcc.com/k/liuchengtuzhizuo/
8.RGSM3hmac/README.mdatmaster·rg4sun/RGHMAC 算法流程图 HMAC 算法描述 在HMAC 的定义中用到一个密码散列函数和一个密钥 Key。本作品使用的 SM3 作 为对明文进行分组循环压缩的散列函数,明文分组长度为 64(byte),散列函 数的输出长度为 32(byte)。认证密钥 K 为随机生成。 再定义两个不同的固定字符串 iPad 和 oPad 如下(“i”和“o”表示内部https://github.com/RGNil/RG_SM3hmac/blob/master/README.md
9.机器学习推荐算法原理入门及算法介绍消费金融风控联盟比如,年纪大的人,我推荐猕猴桃,维生素丰富还能降血糖。小姑娘呢,可以推荐她们柠檬,美白又减肥。 协同过滤这个算法,目的就是找相似。其中:找相似,可以是找相似的人,也可以找相似的东西。 协同过滤(collaborative filtering)是通过将用户和其他用户的数据进行对比来实现推荐的算法。协同过滤流程图如下: https://www.shangyexinzhi.com/article/7331518.html
10.结合信任关系的用户聚类协同过滤推荐算法图1算法整体流程图 最终通过预评分公式预测出目标用户a对项目的评分值, 选取评分值最高的前N个项目作为推荐结果. 算法1. 用户聚类迭代算法 输入: 用户集合U, 评分矩阵Rm×n 输出: 调整后的用户聚类 (1)首先用K-mean聚类算法对初始的用户集合进行聚类, 得到初始用户聚类$\scriptstyle UC = \left\{ {U{C_https://c-s-a.org.cn/html/2020/8/7561.html
11.PageRank算法实现好友推荐(算法原理)PageRank算法流程图 抽象模型 有向图 使用有向图表示: 有向图示例 这个例子中只有四个网页,如果当前在A网页,那么悠闲的上网者将会各以1/3的概率跳转到B、C、D,这里的3表示A有3条出链,如果一个网页有k条出链,那么跳转任意一个出链上的概率是1/k,同理D到B、C的概率各为1/2,而B到C的概率为0。 https://www.jianshu.com/p/cbb04e7384ee
12.你真的清楚流程图规范吗?流程图作为一种表达算法和思路最好的方法,一直在我们的生活中扮演着重要的角色。但是很多人画流程图都是大概一画,并没有按照流程图规范来画。难道流程图没有一个统一的规范吗?流程图当然有规范的画法,下面我来为大家介绍一些流程图规范。 既然说起流程图规范,那不得不提的就是流程图的三大结构。在说三大结构之前https://modao.cc/flowchart/flow-chart-specifications-you-should-know.html
13.流程图怎么做?分享流程图制作的基础知识流程图可以细分为工艺流程图、工作流程图、算法流程图、程序流程图和系统流程图等多种分类,但我们其实可以将这些分类的流程图归纳为逻辑流程图和基本流程图两大类型。 1.逻辑流程图:逻辑流程图用来表示流程内的核心运行过程,用来指导编写程序逻辑,并检查程序算法的正确性,便于帮助他人理解程序的逻辑思路https://m.liuchengtu.com/tutorial/lctzmz.html
14.用流程图描述算法中表示“条件判断”的图形符号是()。A.B.C用流程图描述算法中表示“条件判断”的图形符号是( )。 A. B. C. D. 相关知识点: 试题来源: 解析 答案:A 结果一 题目 用流程图描述算法中表示“条件判断”的图形符号是( )。 答案 答案:A相关推荐 1用流程图描述算法中表示“条件判断”的图形符号是( )。https://easylearn.baidu.com/edu-page/tiangong/questiondetail?id=1709863306399674600&fr=search