CN111915409B - 基于物品的物品推荐方法、装置、设备及存储介质 - Google Patents
基于物品的物品推荐方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111915409B CN111915409B CN202010800937.2A CN202010800937A CN111915409B CN 111915409 B CN111915409 B CN 111915409B CN 202010800937 A CN202010800937 A CN 202010800937A CN 111915409 B CN111915409 B CN 111915409B
- Authority
- CN
- China
- Prior art keywords
- article
- articles
- similarity
- item
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了基于物品的物品推荐方法、装置、设备及存储介质,方法包括:根据用户与物品的历史评分行为,获取用户选择的物品以及对物品的评分;使用预设的下采样算法剔除掉过度热门的物品;使用滑动窗口筛选出同类目的预定数量的物品;对所述评分进行归一化处理,然后根据所述物品及对应的评分构建用户与物品的评分矩阵;根据所述用户与物品的评分矩阵,计算每一物品与其它物品之间的相似度;根据物品的质量分和新鲜度对所述相似度进行调整处理,得到经调整的相似度;根据目标用户历史偏好的目标物品,获取相似度达到预设相似度阈值的物品并推荐给所述目标用户。本发明在算法层面上对推荐方法进行改进,提高物品推荐的准确度。
Description
技术领域
本发明涉及物品推荐领域,特别涉及基于物品的物品推荐方法、装置、设备及存储介质。
背景技术
现有物品推荐方法一般有如下问题:
1.因方法本身设计问题而造成马太效应,从而导致偏热推荐;
2.未提出对构造内部环路(构造物品互邻)时的改进,没有尽可能提高在构造物品互邻带来的算法收益;
3.在完成物品之间相似度计算后获取物品的相似集合排序时,仅考虑相似度,而未考虑到物品的质量、新鲜度等属性。
发明内容
本发明的目的是提供基于物品的物品推荐方法、装置、设备及存储介质,旨在解决现有物品推荐方法准确性不佳的问题。
第一方面,本发明实施例提供一种基于物品的物品推荐方法,其包括:
根据用户与物品的历史评分行为,获取用户选择的物品以及对物品的评分;
使用预设的下采样算法剔除掉过度热门的物品;
使用滑动窗口筛选出同类目的预定数量的物品;
对所述评分进行归一化处理,得到符合归一化要求的评分,根据所述物品及对应的评分构建用户与物品的评分矩阵;
根据所述用户与物品的评分矩阵,计算每一物品与其它物品之间的相似度;
根据物品的质量分和新鲜度对所述相似度进行调整处理,得到经调整的相似度;
针对每个物品按照相似度由大到小的顺序对与其相似的其它物品进行排序,得到每个物品对应的相似物品列表集合;
根据目标用户历史偏好的目标物品,查找出对应的相似物品列表集合,并在对应的相似物品列表集合中,抽取出相似度达到预设相似度阈值的物品推荐给所述目标用户。
第二方面,本发明实施例提供一种基于物品的物品推荐装置,其包括:
用户评分单元,用于根据用户与物品的历史评分行为,获取用户选择的物品以及对物品的评分;
第一物品筛选单元,用于使用预设的下采样算法剔除掉过度热门的物品;
第二物品筛选单元,用于使用滑动窗口筛选出同类目的预定数量的物品;
评分矩阵构建单元,用于对所述评分进行归一化处理,得到符合归一化要求的评分,根据所述物品及对应的评分构建用户与物品的评分矩阵;
相似度计算单元,用于根据所述用户与物品的评分矩阵,计算每一物品与其它物品之间的相似度;
相似度调整单元,用于根据物品的质量分和新鲜度对所述相似度进行调整处理,得到经调整的相似度;
物品排序单元,用于针对每个物品按照相似度由大到小的顺序对与其相似的其它物品进行排序,得到每个物品对应的相似物品列表集合;
物品推荐单元,用于根据目标用户历史偏好的目标物品,查找出对应的相似物品列表集合,并在对应的相似物品列表集合中,抽取出相似度达到预设相似度阈值的物品推荐给所述目标用户。
第三方面,本发明实施例提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如上所述的基于物品的物品推荐方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时实现如上所述的基于物品的物品推荐方法。
本发明实施例提供了基于物品的物品推荐方法、装置、设备及存储介质,方法包括:根据用户与物品的历史评分行为,获取用户选择的物品以及对物品的评分;使用预设的下采样算法剔除掉过度热门的物品;使用滑动窗口筛选出同类目的预定数量的物品;对所述评分进行归一化处理,然后根据所述物品及对应的评分构建用户与物品的评分矩阵;根据所述用户与物品的评分矩阵,计算每一物品与其它物品之间的相似度;根据物品的质量分和新鲜度对所述相似度进行调整处理,得到经调整的相似度;根据目标用户历史偏好的目标物品,获取相似度达到预设相似度阈值的物品并推荐给所述目标用户。本发明实施例在算法层面上对推荐方法进行改进,提高物品推荐的准确度。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于物品的物品推荐方法的流程示意图;
图2为本发明实施例提供的一种基于物品的物品推荐装置的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本发明实施例提供的一种基于物品的物品推荐方法的流程示意图,该方法包括步骤S101~S101:
S101、根据用户与物品的历史评分行为,获取用户选择的物品以及对物品的评分;
S102、使用预设的下采样算法剔除掉过度热门的物品;
S103、使用滑动窗口筛选出同类目的预定数量的物品;
S104、对所述评分进行归一化处理,得到符合归一化要求的评分,根据所述物品及对应的评分构建用户与物品的评分矩阵;
S105、根据所述用户与物品的评分矩阵,计算每一物品与其它物品之间的相似度;
S106、根据物品的质量分和新鲜度对所述相似度进行调整处理,得到经调整的相似度;
S107、针对每个物品按照相似度由大到小的顺序对与其相似的其它物品进行排序,得到每个物品对应的相似物品列表集合;
S108、根据目标用户历史偏好的目标物品,查找出对应的相似物品列表集合,并在对应的相似物品列表集合中,抽取出相似度达到预设相似度阈值的物品推荐给所述目标用户。
首先,在所述步骤S101中,根据用户与物品的历史评分行为,获取用户选择的物品以及对物品的评分。
所述评分可以是用户对物品进行真实评分的结果,也可以是通过用户操作物品的行为信息(例如用户停留在当前商品的时间或者浏览商品信息的时间或者点击商品的次数等等)转换得到的评分,本实施案例不限定评分行为的形式。用户选择物品的方式也可以多种多样,例如用户浏览过的视频可以是用户选择的物品,用户购买过的商品可以是用户选择的物品,用户阅读过的新闻也可以是用户选择的物品。也就是说,本发明各实施例中提到的物品是一个广义的概念,其泛指用户所操作过的对象。相对应的,本发明各实施例中的“操作”(即“选择”)也是一个广义的概念,操作的含义多种多样,例如操作可以是点击、浏览、购买、转发、分享等等。本发明就是针对用户的历史行为,向用户推荐物品。
在所述步骤S102中,针对过度热门物品,采用下采样算法将其剔除,从而完成物品的初步筛选操作,为进一步筛选操作做准备。
过度热门的物品一般为关注度非常高的物品。当一个物品的关注度非常高,即足够多的用户对一个物品操作过并给出相应的评分时,若按常规的相似度计算方式,任一物品与过度热门物品的相似度都会处在一个较高的水平上(尽管该物品与过度热门物品并非真正相似),因此,过度热门的物品容易被常规的推荐算法过多地推荐给用户,从而失去了个性化推荐的特性。
举例来说,如果某个物品由于过热,在评分矩阵中直接的体现为,该物品会出现在所有用户的列表中,通过传统方式进行计算,会导致该物品与其他物品的相似度均较高,从而导致该物品均出现其他物品的推荐列表中。但实际情况是,该物品可能与其他物品的真实相似度并不高,所以传统方式会导致协同过滤失去了个性化,出现偏热推荐的问题,物品之间并不是真正的相似。
举个微博的例子,XX事件刷爆整个微博,大量用户都吃瓜点进去会浏览,而同时,另一XX事件也火爆整个微博,同样也会有大量用户点击浏览。这样通过协同过滤的算法,就会判断出这两起事件相似,但其实是完全不同的内容,故需要将过于热门的物品剔除。
在一实施例中,所述使用预设的下采样算法剔除掉过度热门的物品,包括:
统计各物品被操作的总次数;
将所述总次数与预设的阈值进行比较;
若所述总次数大于所述预设的阈值,则判定所述物品为过度热门的物品,并将其剔除。
本实施例是采用下采样的方法来解决过热问题。本实施例中,通过物品被操作的总次数与预设的阈值的比较结果判断该物品是否为过度热门物品。例如,对于内容来说,可以统计各内容的用户总浏览量(这里可以是所有用户的总浏览量),当所述总浏览量大于预设的浏览量阈值时,则判定该内容为过度热门的内容,其中,所述预设的阈值一般由实际使用场景及实验测试得到。
在所述步骤S103中,使用滑动窗口筛选出同类目的预定数量的物品,是针对构造内部环路算法的改进。
在生成评分矩阵前,通过用户对物品的操作行为,得到一段时间内的互邻物品。例如,用户A在两个月内看了5000个视频,这5000个视频并不一定具有相似性,故要按照观看视频的时间排序生成对应的视频时序序列,且按照一定的滑动窗口,抽取具有真实相似性的视频,在视频时序序列中,有当前视频和邻居视频。
假如滑动窗口为10,则可以按照用户A观看视频的时间顺序生成对应的视频时序序列,然后使用滑动窗口选择一个当前视频,从视频时序序列中抽取当前视频前后各10个视频(也就是抽取当前视频相邻的总共20个视频)。可以理解的是,同一用户在一段时间内操作过的物品之间天然存在一定的相关性,通过滑动窗口对这些物品进行进一步筛选,可认为筛选出的物品具有相当的相关性。
不仅如此,本发明实施例还会筛选出同类目的预定数量的物品。也就是说,从前面的方案中抽取的前后各10个视频并不一定是同一类的视频,故本实施例会根据当前视频的类目从其前后各抽取10个同类目的视频。
在一实施例中,所述使用滑动窗口筛选出同类目的预定数量的物品,包括:
根据用户对每一物品的操作顺序生成物品时序序列;
根据所述物品时序序列判断在滑动窗口内的物品是否为同一类物品;
若为同一类物品,则抽取该滑动窗口内的所有物品;
若不为同一类物品,则抽取该滑动窗口外并且与所述滑动窗口最接近的若干同一类物品,并与该滑动窗口内的同一类物品合并。
本实施例中,可以先通过预设的规则对物品进行分类,在实际操作中可以通过加入相应的标签实现。例如,对视频进行分类,可以分为篮球品类、跳舞品类、美食品类等类型,然后将标签加入相应的视频的属性中,当抽取视频时,读取视频的标签,当该视频的标签与当前视频的标签一致时,则判定为同一类视频。如果滑动窗口内的物品不是同一类物品,则抽取该滑动窗口外并且与所述滑动窗口最接近的若干同一类物品,并与该滑动窗口内的同一类物品合并。实际应用时,可以先获取当前物品的类目,然后判断滑动窗口内其他物品是否与当前物品的类目是否相同,如果相同,则抽取该滑动窗口内的所有物品即可,如果不相同,则需要抽取滑动窗口外的其他物品填充到滑动窗口内,使滑动窗口内的与当前物品同一类的物品的数量达到预定数量,例如滑动窗口为10,那么需要抽取与当前物品属于同一类的前后各10个物品。
在所述步骤S104中,对所述评分进行归一化处理,是了消除不同用户的评分绝对值的不同而对物品之间相似度的影响,即将所有用户对两物品之间的相似度的影响程度均一化。
对于一个评分矩阵而言,构造用户对物品的偏好程度时,每一个用户的评分都不一样,在使用某些相似度计算公式时,例如余弦相似度,分母为两个物品的模长,分子为各个用户对物品的评分之和,会导致评分高的用户,其在计算两个物品的相似度时,其权重会高一些,这对低评分用户是不公平的,故要进行评分的归一化。
以下表1的评分矩阵为例,由于每一个用户的评分标准和喜好不一样,如上面的表格,同样是喜欢物品3,用户A的评分是6分,用户B的评分是2分,通过公式观察,使用cosine余弦相似度计算物品2和物品3的相似度,分子=5*6+1*2,而分母为物品2的模长和物品3的模长相乘,引入分母可以理解为:
左边代表用户A对计算物品2和物品3相似的贡献,右边代表着用户B对计算物品2和物品3相似的贡献,由于用户A和用户B的评分标准不一致,导致两个公平的用户的贡献并不是公平的,故需要对user的评分进行归一化。
表1
物品1 | 物品2 | 物品3 | 物品4 | |
用户A | 3 | 5 | 6 | 4 |
用户B | 0 | 1 | 2 | 1 |
归一化的方式可以按如下公式进行:newscore=score/maxscore。
也就是将用户对当前物品的评分(score)除以用户对所有物品的最高评分(maxscore)得到归一化评分(newscore)。
举例来说,用户A对物品1的评分为3分,用户A对所有物品的最高评分为6分,那么用户A对物品1归一化后的评分为3/6=0.5分,对物品2归一化后的评分变成5/6=0.83,用户B对物品2归一化后的评分为1/2=0.5分。
进一步,得到符合归一化要求的评分后,根据所述物品及对应的评分构建用户与物品的评分矩阵。
在所述步骤S105中,根据所述用户与物品的评分矩阵,计算每一物品与其它物品之间的相似度。
本发明实施例中,可以通过余弦相似度公式计算物品之间的相似度。例如,根据所述物品及对应的评分构建了如表2所示的用户与物品的评分矩阵。
表2
物品1 | 物品2 | 物品3 | 物品4 | 物品5 | |
用户A | 1 | 1 | 1 | 0 | 1 |
用户B | 0 | 1 | 0 | 0 | 1 |
用户C | 1 | 0 | 0 | 1 | 1 |
用户D | 0 | 0 | 1 | 0 | 1 |
用户E | 0 | 0 | 1 | 0 | 1 |
可以理解的是,评分为0时,可以是用户没有操作过相应的物品,也可以是用户对相应物品的评分为0。
在本实施例中,以上述评分矩阵为例,选用cosine(余弦相似度)来衡量相似度,计算物品1和物品2的相似度,分子为物品1和物品2的点积,即物品1和物品2对应位置元素相乘并求和,分子=1*1+0*1+1*0+0*0+0*0=1,分母为物品1的模长和物品2模长相乘,分母=|item1|*|item2|,|item1|=sqrt(1*1+0+1*1+0+0)=1.4,|item2|=sqrt(1*1+1*1+0+0+0)=1.4,cosine=分子/分母=1/(1.4*1.4)=0.51,如此便计算出物品1和物品2的余弦相似度为0.51。
在一实施例中,所述根据所述用户与物品的评分矩阵,计算每一物品与其它物品之间的相似度,包括:
获取每一用户对所述评分矩阵中每一物品的操作顺序;
根据所述操作顺序获取基于同一用户的两两物品之间的距离;
根据所述距离和预设的时间衰减函数计算每一用户对所述评分矩阵中两两物品之间的时间衰减值;
根据所述时间衰减值计算每一物品与其它物品之间的相似度。
在本实施例中,对于当前的物品,操作时间越靠近说明越相似,所以物品之间的相似度与时间密切相关,故本实施例引入时间衰减函数,加入到相似度的计算过程。
在一实施例中,所述时间衰减函数为:其中,time_decay为同一用户选择的其他物品对当前物品的时间衰减值,index为同一用户选择的其他物品与当前物品的距离,threshold为滑动窗口的长度。
以视频为例,index为滑动窗口内,其他视频与当前视频的距离(例如,当前视频与其左右相邻的视频的index均为1),时间衰减函数的引入乃基于在用户的视频浏览队列中,越相近的视频其相关性越大,故在构造评分矩阵时,不仅仅考虑是否在一个滑动窗口内,还要考虑其离得多近。一个示例如下表3所示。
表3
threshold=10 | time_decay |
index=1 | 0.90 |
index=2 | 0.81 |
index=3 | 0.74 |
index=4 | 0.67 |
... | ... |
在一实施例中,所述根据所述时间衰减值计算每一物品与其它物品之间的相似度,包括:
将所述时间衰减值代入至每一物品与其它物品之间的余弦相似度计算公式;
按照所述余弦相似度计算公式计算每一物品与其它物品之间的相似度。
例如基于表2的评分矩阵,在计算物品1与物品2的相似度时,与上面计算的余弦相似度的例子一样,需要考虑在每一位用户的浏览列表中物品1与物品2的距离,假设对于用户A来说,物品2就在物品1后面,那么此时对于用户A来说,用户A选择的物品1对当前物品2的时间衰减值item_decay=0.9,分子=1*1*0.9+0*1+1*0+0*0+0*0=0.9(由于除第一项外,其他项均为0,故省去这两个物品基于其他用户的item_decay),分母是1.4*1.4=1.96,此时物品1和物品2的余弦相似度为0.46。
需说明的是,本发明实施例中除了采用余弦相似度的方式计算相似度之外,还可以采用其他方式计算相似度,例如采用欧式距离的方式进行计算,同样可以采用上述方式处理。
在所述步骤S106中,根据物品的质量分和新鲜度对所述相似度进行调整处理,得到经调整的相似度,经调整的相似度考虑物品的质量和新鲜度,可以为用户推荐更符合用户需求的物品。
具体地,当完成物品之间相似度的计算之后,还未考虑物品是否是老的内容,质量如何等,所以本步骤不仅考虑物品的相似度,还要融合物品的新鲜度和质量分。
在一实施例中,所述根据物品的质量分和新鲜度对所述相似度进行调整处理,得到经调整的相似度,包括:
获取每一物品的质量分,并将所述质量分与相应的相似度相乘得到中间相似度;
获取每一物品的上传时间,根据所述上传时间与当前时间的时间间隔,计算每一物品的新鲜度;
将所述新鲜度与中间相似度相乘得到经调整的相似度。
可以理解的是,质量分可以是评价物品的任一参数,例如,可以使用视频的ctr(点击率)值作为视频的质量分。
引用表2中的评分矩阵的例子,依前述步骤可计算物品1与物品2、物品3、物品4、物品5的相似度分别为0.51、0.41、0.71、0.64,那么此时物品1与其他物品的相似度都计算得出。假设此时需要从这4个物品中挑选出2个物品,根据相似度,很容易根据相似度排序挑选出物品4和物品5,因为它们的相似度是排在前两位,那么当物品2的质量比物品4要好时,对于用户来说,质量更好也是用户体验关键因素,故完成了相似度计算,视频的召回不仅仅局限于两者之间是相似的,还要考虑其质量,至于视频的质量,可以根据业务和调整指标来设置,例如最简单的就是视频的ctr(点击率)作为视频的质量分。
质量分的引入可以按如下方式进行:物品1与物品2、物品3、物品4、物品5的相似度分别为0.51、0.41、0.71、0.64,假设物品2、物品3、物品4、物品5的ctr分别为0.32、0.41、0.14、0.21,那么可计算出中间相似度:物品1与物品2的中间相似度:0.51*0.32=0.16;物品1与物品3的中间相似度:0.41*0.41=0.16;物品1与物品4的中间相似度:0.71*0.14=0.09;物品1与物品5的中间相似度:0.64*0.21=0.12,那么此时综合得分最高的是物品2和物品3。
可以理解的是,通过一个与所述时间衰减函数类似的函数来计算物品的新鲜度,例如,该函数可以为其中,deltaDays为物品的上传时间与当前时间的间隔(单位可以是天或者其他时间单位),threshold可设置为365或900等。引入新鲜度的物品推荐方法可以用于新闻类场景,因为新闻内容具有一定的时效性,故新鲜度对新闻内容非常重要。
新鲜度的引入可以按如下方式进行:物品1与物品2、物品3、物品4、物品5的中间相似度分别为0.16、0.16、0.09、0.12,假设物品2、物品3、物品4、物品5的新鲜度分别为0.9、0.8、0.6、0.95,那么可计算出经调整的相似度:物品1与物品2的相似度:0.16*0.9;物品1与物品3的相似度:0.16*0.8;物品1与物品4的相似度:0.09*0.6;物品1与物品5的相似度:0.12*0.95。
在所述步骤S107中,针对每个物品按照相似度由大到小的顺序对与其相似的其它物品进行排序,得到每个物品对应的相似物品列表集合。
在本实施例中,每个物品都有一个对应的相似物品列表集合,所述列表集合包括其他物品的名称及与当前物品的相似度。
在所述步骤S108中,根据目标用户历史偏好的目标物品,查找出对应的相似物品列表集合,并在对应的相似物品列表集合中,抽取出相似度达到预设相似度阈值的所有物品推荐给所述目标用户。
本实施例中,目标物品可以是用户刚操作完的物品,例如,当用户观看完一个当前视频时,查找出所述当前视频的相似视频列表集合,然后从该相似视频列表集合中抽取出相似度达到预设的相似度阈值的视频,并将这些视频列在播放完的所述当前视频的下方或正前方,以便于用户继续观看相似的视频。
请参阅图2,图2为本发明实施例提供的一种基于物品的物品推荐装置的示意性框图,该基于物品的物品推荐装置200包括:
用户评分单元201,用于根据用户与物品的历史评分行为,获取用户选择的物品以及对物品的评分;
第一物品筛选单元202,用于使用预设的下采样算法剔除掉过度热门的物品;
第二物品筛选单元203,用于使用滑动窗口筛选出同类目的预定数量的物品;
评分矩阵构建单元204,用于对所述评分进行归一化处理,得到符合归一化要求的评分,根据所述物品及对应的评分构建用户与物品的评分矩阵;
相似度计算单元205,用于根据所述用户与物品的评分矩阵,计算每一物品与其它物品之间的相似度;
相似度调整单元206,用于根据物品的质量分和新鲜度对所述相似度进行调整处理,得到经调整的相似度;
物品排序单元207,用于针对每个物品按照相似度由大到小的顺序对与其相似的其它物品进行排序,得到每个物品对应的相似物品列表集合;
物品推荐单元208,用于根据目标用户历史偏好的目标物品,查找出对应的相似物品列表集合,并在对应的相似物品列表集合中,抽取出相似度达到预设相似度阈值的物品推荐给所述目标用户。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如上所述的基于物品的物品推荐方法。
本发明实施例还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时实现如上所述的基于物品的物品推荐方法。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的结构而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种基于物品的物品推荐方法,其特征在于,包括:
根据用户与物品的历史评分行为,获取用户选择的物品以及对物品的评分;
使用预设的下采样算法剔除掉过度热门的物品;
使用滑动窗口筛选出同类目的预定数量的物品;
对所述评分进行归一化处理,得到符合归一化要求的评分,根据所述物品及对应的评分构建用户与物品的评分矩阵;
根据所述用户与物品的评分矩阵,计算每一物品与其它物品之间的相似度;
根据物品的质量分和新鲜度对所述相似度进行调整处理,得到经调整的相似度;
针对每个物品按照相似度由大到小的顺序对与其相似的其它物品进行排序,得到每个物品对应的相似物品列表集合;
根据目标用户历史偏好的目标物品,查找出对应的相似物品列表集合,并在对应的相似物品列表集合中,抽取出相似度达到预设相似度阈值的物品推荐给所述目标用户。
2.如权利要求1所述的基于物品的物品推荐方法,其特征在于,所述根据所述用户与物品的评分矩阵,计算每一物品与其它物品之间的相似度,包括:
获取每一用户对所述评分矩阵中每一物品的操作顺序;
根据所述操作顺序获取基于同一用户的两两物品之间的距离;
根据所述距离和预设的时间衰减函数计算每一用户对所述评分矩阵中两两物品之间的时间衰减值;
根据所述时间衰减值计算每一物品与其它物品之间的相似度。
3.如权利要求2所述的基于物品的物品推荐方法,其特征在于,所述根据所述时间衰减值计算每一物品与其它物品之间的相似度,包括:
将所述时间衰减值代入至每一物品与其它物品之间的余弦相似度计算公式;
按照所述余弦相似度计算公式计算每一物品与其它物品之间的相似度。
4.如权利要求2所述的基于物品的物品推荐方法,其特征在于,所述时间衰减函数为:其中,time_decay为同一用户选择的其他物品对当前物品的时间衰减值,index为同一用户选择的其他物品与当前物品的距离,threshold为滑动窗口的长度。
5.如权利要求1所述的基于物品的物品推荐方法,其特征在于,所述使用预设的下采样算法剔除掉过度热门的物品,包括:
统计各物品被操作的总次数;
将所述总次数与预设的阈值进行比较;
若所述总次数大于所述预设的阈值,则判定所述物品为过度热门的物品,并将其剔除。
6.如权利要求1所述的基于物品的物品推荐方法,其特征在于,所述使用滑动窗口筛选出同类目的预定数量的物品,包括:
根据用户对每一物品的操作顺序生成物品时序序列;
根据所述物品时序序列判断在滑动窗口内的物品是否为同一类物品;
若为同一类物品,则抽取该滑动窗口内的所有物品;
若不为同一类物品,则抽取该滑动窗口外并且与所述滑动窗口最接近的若干同一类物品,并与该滑动窗口内的同一类物品合并。
7.如权利要求1所述的基于物品的物品推荐方法,其特征在于,所述根据物品的质量分和新鲜度对所述相似度进行调整处理,得到经调整的相似度,包括:
获取每一物品的质量分,并将所述质量分与相应的相似度相乘得到中间相似度;
获取每一物品的上传时间,根据所述上传时间与当前时间的时间间隔,计算每一物品的新鲜度;
将所述新鲜度与中间相似度相乘得到经调整的相似度。
8.一种基于物品的物品推荐装置,其特征在于,包括:
用户评分单元,用于根据用户与物品的历史评分行为,获取用户选择的物品以及对物品的评分;
第一物品筛选单元,用于使用预设的下采样算法剔除掉过度热门的物品;
第二物品筛选单元,用于使用滑动窗口筛选出同类目的预定数量的物品;
评分矩阵构建单元,用于对所述评分进行归一化处理,得到符合归一化要求的评分,根据所述物品及对应的评分构建用户与物品的评分矩阵;
相似度计算单元,用于根据所述用户与物品的评分矩阵,计算每一物品与其它物品之间的相似度;
相似度调整单元,用于根据物品的质量分和新鲜度对所述相似度进行调整处理,得到经调整的相似度;
物品排序单元,用于针对每个物品按照相似度由大到小的顺序对与其相似的其它物品进行排序,得到每个物品对应的相似物品列表集合;
物品推荐单元,用于根据目标用户历史偏好的目标物品,查找出对应的相似物品列表集合,并在对应的相似物品列表集合中,抽取出相似度达到预设相似度阈值的物品推荐给所述目标用户。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的基于物品的物品推荐方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时实现如权利要求1至7任一项所述的基于物品的物品推荐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010800937.2A CN111915409B (zh) | 2020-08-11 | 2020-08-11 | 基于物品的物品推荐方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010800937.2A CN111915409B (zh) | 2020-08-11 | 2020-08-11 | 基于物品的物品推荐方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111915409A CN111915409A (zh) | 2020-11-10 |
CN111915409B true CN111915409B (zh) | 2023-08-04 |
Family
ID=73283008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010800937.2A Active CN111915409B (zh) | 2020-08-11 | 2020-08-11 | 基于物品的物品推荐方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111915409B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112381616A (zh) * | 2020-11-28 | 2021-02-19 | 武汉虹信技术服务有限责任公司 | 物品推荐引导方法、装置及计算机设备 |
CN113065085A (zh) * | 2021-03-22 | 2021-07-02 | 北京沃东天骏信息技术有限公司 | 数据加载方法、装置、目标服务器、目标终端及存储介质 |
CN113051144B (zh) * | 2021-03-26 | 2022-02-08 | 中山大学 | 一种智能合约推荐方法及装置 |
CN114817724B (zh) * | 2022-04-27 | 2024-06-25 | 湖南大学 | 针对推荐算法的评估方法、装置及存储介质 |
CN117273869B (zh) * | 2023-11-21 | 2024-02-13 | 安徽农业大学 | 一种基于用户数据的农产品智能推送方法、系统、装置以及介质 |
CN117992680B (zh) * | 2024-04-02 | 2024-06-07 | 华侨大学 | 基于改进协同过滤及惩罚标签评分的多样化推荐方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722524A (zh) * | 2012-05-07 | 2012-10-10 | 北京邮电大学 | 网站推荐结果显示方法、装置及具有该装置的终端 |
US8918330B1 (en) * | 2010-01-20 | 2014-12-23 | Google Inc. | Display of videos based on referrers |
CN105678590A (zh) * | 2016-02-07 | 2016-06-15 | 重庆邮电大学 | 一种面向社交网络基于云模型的topN推荐方法 |
KR20160118644A (ko) * | 2015-04-02 | 2016-10-12 | 주식회사 지케이21글로벌 | 물품 추천 시스템 및 방법, 이를 위한 장치 |
KR20170107868A (ko) * | 2016-03-16 | 2017-09-26 | (주)멜로다임 | 사용자 맥락, 추천 음악, 이용 행태로 구성된 데이터베이스를 활용한 음악 콘텐츠 추천 방법 및 시스템 |
CN108255840A (zh) * | 2016-12-28 | 2018-07-06 | 北京酷我科技有限公司 | 一种歌曲的推荐方法和系统 |
CN109086394A (zh) * | 2018-07-27 | 2018-12-25 | 天津字节跳动科技有限公司 | 搜索排序方法、装置、计算机设备和存储介质 |
CN109635200A (zh) * | 2018-12-18 | 2019-04-16 | 南京邮电大学 | 一种基于mmtd和用户的协同过滤推荐算法 |
CN110472155A (zh) * | 2019-07-03 | 2019-11-19 | 五邑大学 | 基于知识图谱的协同推荐方法、装置、设备和存储介质 |
CN111274370A (zh) * | 2020-01-14 | 2020-06-12 | 李乾群 | 基于在线问答活动的弹幕答案分发方法、服务器及存储介质 |
CN111339439A (zh) * | 2020-02-18 | 2020-06-26 | 广东工业大学 | 一种融合评论文本与时序效应的协同过滤推荐方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8365227B2 (en) * | 2009-12-02 | 2013-01-29 | Nbcuniversal Media, Llc | Methods and systems for online recommendation |
US20180032882A1 (en) * | 2016-07-27 | 2018-02-01 | Fuji Xerox Co., Ltd. | Method and system for generating recommendations based on visual data and associated tags |
-
2020
- 2020-08-11 CN CN202010800937.2A patent/CN111915409B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8918330B1 (en) * | 2010-01-20 | 2014-12-23 | Google Inc. | Display of videos based on referrers |
CN102722524A (zh) * | 2012-05-07 | 2012-10-10 | 北京邮电大学 | 网站推荐结果显示方法、装置及具有该装置的终端 |
KR20160118644A (ko) * | 2015-04-02 | 2016-10-12 | 주식회사 지케이21글로벌 | 물품 추천 시스템 및 방법, 이를 위한 장치 |
CN105678590A (zh) * | 2016-02-07 | 2016-06-15 | 重庆邮电大学 | 一种面向社交网络基于云模型的topN推荐方法 |
KR20170107868A (ko) * | 2016-03-16 | 2017-09-26 | (주)멜로다임 | 사용자 맥락, 추천 음악, 이용 행태로 구성된 데이터베이스를 활용한 음악 콘텐츠 추천 방법 및 시스템 |
CN108255840A (zh) * | 2016-12-28 | 2018-07-06 | 北京酷我科技有限公司 | 一种歌曲的推荐方法和系统 |
CN109086394A (zh) * | 2018-07-27 | 2018-12-25 | 天津字节跳动科技有限公司 | 搜索排序方法、装置、计算机设备和存储介质 |
CN109635200A (zh) * | 2018-12-18 | 2019-04-16 | 南京邮电大学 | 一种基于mmtd和用户的协同过滤推荐算法 |
CN110472155A (zh) * | 2019-07-03 | 2019-11-19 | 五邑大学 | 基于知识图谱的协同推荐方法、装置、设备和存储介质 |
CN111274370A (zh) * | 2020-01-14 | 2020-06-12 | 李乾群 | 基于在线问答活动的弹幕答案分发方法、服务器及存储介质 |
CN111339439A (zh) * | 2020-02-18 | 2020-06-26 | 广东工业大学 | 一种融合评论文本与时序效应的协同过滤推荐方法和装置 |
Non-Patent Citations (1)
Title |
---|
基于自相似矩阵的协同过滤推荐算法;张巍;郑骏;逄娇娜;白;;华东师范大学学报(自然科学版)(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111915409A (zh) | 2020-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111915409B (zh) | 基于物品的物品推荐方法、装置、设备及存储介质 | |
Sivapalan et al. | Recommender systems in e-commerce | |
Li et al. | Using multidimensional clustering based collaborative filtering approach improving recommendation diversity | |
CN104866474B (zh) | 个性化数据搜索方法及装置 | |
Wei et al. | A survey of recommendation systems in electronic commerce | |
CN103886090B (zh) | 基于用户喜好的内容推荐方法及装置 | |
US20010013009A1 (en) | System and method for computer-based marketing | |
US8234311B2 (en) | Information processing device, importance calculation method, and program | |
CN107341268B (zh) | 一种热搜榜排序方法及系统 | |
JP5386663B1 (ja) | 情報処理装置、情報処理方法、情報処理プログラム及び記録媒体 | |
CN108550068A (zh) | 一种基于用户行为分析的个性化商品推荐方法及系统 | |
US20080301582A1 (en) | Taste network widget system | |
US20080300958A1 (en) | Taste network content targeting | |
CN113065062B (zh) | 一种基于用户阅读时间行为的新闻推荐方法及系统 | |
CN105426528A (zh) | 一种商品数据的检索排序方法及系统 | |
CN102411754A (zh) | 一种基于商品属性熵值的个性化推荐方法 | |
US20140222543A1 (en) | Information processing method, display method, information processing device, terminal device, and information processing program | |
CN107274242A (zh) | 一种基于关联分析算法的商品推荐方法 | |
Bouras et al. | Improving news articles recommendations via user clustering | |
CN109446402B (zh) | 一种搜索方法及装置 | |
Moraes et al. | The role of attributes in product quality comparisons | |
KR102486241B1 (ko) | 검열된 미디어 코퍼스에의 통합을 위한 미디어 소스 측정 | |
CN110765346B (zh) | 用户意图挖掘方法、装置以及设备 | |
CN113468394A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN117593089A (zh) | 信用卡推荐方法、装置、设备、存储介质及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |